易语言数值返回问题

我做一个运算表格,计算出来的数据有整数,1位小数,2位小数,3位小数,4位小数,或者无尽的小数,我下面的写法该如何修改简化才行,让他最多保留4位小数,或者如果整数就保留整数,1-4位小数的话舍掉后面的0,无尽小数就保留4位

应该这样写的,这样写可以想保留多少为就保留多少位,无需写更多的子程序,以下是代码:

.版本 2


.子程序 整理小数, 文本型

.参数 参数_小数, 双精度小数型

.参数 参数_保留几位小数, 字节型

.局部变量 局部_双精度数_文本, 文本型

.局部变量 局部_小数点位置, 整数型

.局部变量 局部_计次, 整数型

.局部变量 局部_文本长度, 整数型


局部_双精度数_文本 = 到文本 (参数_小数)

局部_小数点位置 = 寻找文本 (局部_双精度数_文本, “.”, , 假)

.如果真 (局部_小数点位置 = -1)  ' 无小数

返回 (局部_双精度数_文本)

.如果真结束

局部_双精度数_文本 = 取文本左边 (局部_双精度数_文本, 局部_小数点位置 + 参数_保留几位小数)

局部_文本长度 = 取文本长度 (局部_双精度数_文本)

.计次循环首 (局部_文本长度, 局部_计次)

.如果 (取文本右边 (局部_双精度数_文本, 1) = “0”)

局部_双精度数_文本 = 文本替换 (局部_双精度数_文本, 局部_文本长度 - 局部_计次 + 1, 1, )

.否则

跳出循环 ()

.如果结束


.计次循环尾 ()

返回 (局部_双精度数_文本)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-18
整理小数(参数1:小数(双精度小数))
文本数组变量:temp
temp=分割文本(到文本(小数),".")
 判断(取数组成员数(temp)=1)
     返回(temp[1])         '----  就是整数
判断(取数组成员数(temp)>=4)
     返回(temp[1]+"."+取文本左边( temp[2],4))
返回(temp[1]+"."+temp[2])

本回答被提问者和网友采纳
第2个回答  2017-10-18
我记得有个命令是 四舍五入() 吧,可以保留小数位.手边没有易语言,楼主自己调试一下.