我做一个运算表格,计算出来的数据有整数,1位小数,2位小数,3位小数,4位小数,或者无尽的小数,我下面的写法该如何修改简化才行,让他最多保留4位小数,或者如果整数就保留整数,1-4位小数的话舍掉后面的0,无尽小数就保留4位
应该这样写的,这样写可以想保留多少为就保留多少位,无需写更多的子程序,以下是代码:
.版本 2
.子程序 整理小数, 文本型
.参数 参数_小数, 双精度小数型
.参数 参数_保留几位小数, 字节型
.局部变量 局部_双精度数_文本, 文本型
.局部变量 局部_小数点位置, 整数型
.局部变量 局部_计次, 整数型
.局部变量 局部_文本长度, 整数型
局部_双精度数_文本 = 到文本 (参数_小数)
局部_小数点位置 = 寻找文本 (局部_双精度数_文本, “.”, , 假)
.如果真 (局部_小数点位置 = -1) ' 无小数
返回 (局部_双精度数_文本)
.如果真结束
局部_双精度数_文本 = 取文本左边 (局部_双精度数_文本, 局部_小数点位置 + 参数_保留几位小数)
局部_文本长度 = 取文本长度 (局部_双精度数_文本)
.计次循环首 (局部_文本长度, 局部_计次)
.如果 (取文本右边 (局部_双精度数_文本, 1) = “0”)
局部_双精度数_文本 = 文本替换 (局部_双精度数_文本, 局部_文本长度 - 局部_计次 + 1, 1, )
.否则
跳出循环 ()
.如果结束
.计次循环尾 ()
返回 (局部_双精度数_文本)