易语言实现-四舍六入五成双_源代码&例程

易语言专区 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,舍去。

四舍六入五成双

易语言实现-四舍六入五成双_源代码

易语言_源代码&例程

易语言实现-四舍六入五成双

示例文件下载:


示例-四舍六入五成双.e



版权声明

本文由牛人工作室发布。未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文

网友评论