我被告知ROUND_HALF_EVEN是用于财务数据计算的优惠舍入模式。我很想知道这种舍入模式为什么以及如何减少javadoc BigDecimal 1.4.2中所述的累积误差。 谢谢, 迪安
答案 0 :(得分:9)
来自Wikipedia:
尽管有四舍五入的习惯 数字4.5到5,实际上4.5是没有 接近5而不是4(它是0.5 远离两者)。处理时 大套科学或 趋势所在的统计数据 重要的,传统的四舍五入 平均数据向上偏差 略。在一大堆数据上,或 当很多后续的四舍五入 操作以数字方式执行 信号处理,圆到均匀 规则倾向于减少总数 舍入误差,(平均)a 相等比例的数字四舍五入 四舍五入。这一般 减少结果的向上倾斜。
答案 1 :(得分:1)
只是为了澄清,如果非小数部分是奇数,则“半舍入”舍入.5向上舍入。如果非小数部分是奇数,则将其向下舍入 - 即,到最近的事件编号。 / p>
所以4.5 - > 4,5.5 - > 6,6.5 - > 6,等等。
对于一组真正随机的十进制数,这种类型的舍入不会显着地向上或向下倾斜总数。因此,它在金融应用中被视为“公平”的舍入系统。
答案 2 :(得分:1)
我的印象与其他两个答案相同,即圆半 - 即使应用于随机数也同样可能向上或向下舍入,因此在大型数据集上没有预期的偏移量四舍五入。但据我所知,半圆甚至本身并没有什么特别之处;我认为,圆半奇(圆n.5到最接近的奇数)将具有相同的属性。与随机舍入策略相同,即n.5以50%的概率随机向上或向下舍入。