本帖最后由 轻风影 于 2024-11-13 20:22 编辑
整数部分要换成长整数存储,否则会出错。简单升级了一下:
|
自定义舍入 | 双精度小数型 | | |
欲被舍入的数值 | 双精度小数型 | | | | 被舍入的位置 | 整数型 | | | | 舍入值 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 结果 | 双精度小数型 | | | 符号 | 整数型 | | | 整数部分 | 长整数型 | | | 小数部分 | 双精度小数型 | | | 倍数 | 双精度小数型 | | |
如果真 (是否为空 (舍入值 ))  舍入值 = 4  符号 = 取符号 (欲被舍入的数值 )欲被舍入的数值 = 取绝对值 (欲被舍入的数值 ) 整数部分 = 到长整数 (欲被舍入的数值 )小数部分 = 欲被舍入的数值 - 整数部分 如果 (被舍入的位置 = 0 )  如果 (小数部分 × 10 > 舍入值 )   结果 = 整数部分 + 1   结果 = 整数部分    倍数 = 求次方 (10, 被舍入的位置 ) 如果 ( (欲被舍入的数值 - 整数部分 ) × 倍数 - 到长整数 ( (欲被舍入的数值 - 整数部分 ) × 倍数 ) > 舍入值 ÷ 10 )  结果 = 整数部分 (取整 ( (欲被舍入的数值 - 整数部分 ) × 倍数 ) + 1 ) ÷ 倍数   结果 = 整数部分 + 取整 ( (欲被舍入的数值 - 整数部分 ) × 倍数 ) ÷ 倍数    结果 = 结果 × 符号 返回 (结果 ) |