gpt4 book ai didi

rounding - 瑞士和阿根廷货币四舍五入

转载 作者:行者123 更新时间:2023-12-04 08:46:09 24 4
gpt4 key购买 nike

使用瑞士法郎算法对货币金额进行四舍五入时,会考虑第二个和第三个十进制数字。如果小于 26,则向下舍入为 0;否则如果小于 76,则四舍五入为 5;否则整个值被四舍五入。

20.125  =>  20.10
20.143 => 20.15
20.179 => 20.20

当要舍入的金额具有更高的小数精度时会发生什么?第三个之后的所有十进制数字是否都被简单地忽略(值被截断),或者该值是否首先以其他方式四舍五入为三位十进制数字?例如,考虑截断与“Math.round()”方法(向下舍入小于 0.5,否则向上舍入):
Truncation                      |  "Math.round"
=================================================================
Start 3 d.p. Rounded | Start 3 d.p. Rounded
=================================================================
20.1259 -> 20.125 => 20.10 | 20.1259 -> 20.126 => 20.15
20.1759 -> 20.175 => 20.15 | 20.1759 -> 20.176 => 20.20

如上所示,这些边缘情况在最终结果中差异很大。

阿根廷货币四舍五入遵循类似的模型,该模型只关注第三个十进制数字。虽然四舍五入的结果可能有两位或三位小数,但原理相同;如果要四舍五入的值有四个或更多的十进制数字,算法是否应该只截断第三个数字之后的任何内容,还是应该应用某种其他类型的中间四舍五入以首先获得三位小数结果?

谢谢!

最佳答案

If less than 26, they are rounded down to 0; else if less than 76, rounded down to 5; else the whole value is rounded up.



通过这个我会假设“截断”方法是合适的,因为 0.0259XXXXX 小于 0.026

关于rounding - 瑞士和阿根廷货币四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5134237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com