易语言实现-四舍六入五成双_源代码&例程
易语言专区
11-08
阅读:878
评论:0
(文章末尾附例程下载)
.版本 2 .子程序 四舍六入, 文本型 .参数 原数值, 文本型 .参数 保留小数位数, 整数型 .局部变量 临时, 文本型 .局部变量 原, 文本型 .局部变量 修约位, 整数型 原 = 到半角 (原数值) 临时 = 取文本左边 (原, 寻找文本 (原, “.”, , 假) + 保留小数位数) ' //先不管规则,取出相应位数数值。 临时 = 临时 + 取重复文本 (保留小数位数 - (取文本长度 (临时) - 寻找文本 (原, “.”, , 假)), “0”) ' //位数不足用0补齐 修约位 = 到数值 (取文本中间 (原, 取文本长度 (临时) + 1, 1)) ' //取出修约位。 .如果真 (修约位 > 5) 返回 (到文本 (到数值 (临时) + 求次方 (0.1, 保留小数位数))) ' //大于5,进位。 .如果真结束 .如果真 (修约位 = 5 且 到数值 (取文本右边 (原, 取文本长度 (原) - 取文本长度 (临时) - 1)) ≠ 0) 返回 (到文本 (到数值 (临时) + 求次方 (0.1, 保留小数位数))) ' //等于5且后面有不为0的数值,进位。 .如果真结束 .如果真 (修约位 = 5 且 到数值 (取文本右边 (原, 取文本长度 (原) - 取文本长度 (临时) - 1)) = 0) .如果 (到数值 (取文本右边 (临时, 1)) % 2 = 0) 返回 (临时) ' //等于5且后面为0,但左边是偶数,舍去。 .否则 返回 (到文本 (到数值 (临时) + 求次方 (0.1, 保留小数位数))) ' //等于5且后面为0,但左边是奇数,进位。 .如果结束 .如果真结束 返回 (选择 (取文本右边 (临时, 1) = “.”, 子文本替换 (临时, “.”, “”, , , 真), 临时)) ' //小于5,舍去。
示例文件下载: |
版权声明
本文由牛人工作室发布。未经许可,不得转载。