在财务之外使用十进制
在财务之外使用十进制
我经常听到人们说浮点数存在舍入误差,因此在金融领域必须使用十进制类型代替浮点数。他们所说的金融是指仅考虑货币,而金、铜、铁、蜂蜜、木材、羊毛、谷物等所有实际物资仍应以实数计算,还是无论任何物资资产都必须使用十进制类型?因为你知道,如果你失去0.0000000004美分,可能不会像你失去同样数量的实物价值那样可怕。我只是不喜欢双重标准。
admin 更改状态以发布 2023年5月24日
"金融应该使用十进制类型来代替浮点数"混淆了正交概念。无论使用固定点还是浮点数来表示分数值,二进制一般都不是金融应用的好选择。 十进制浮点数是专门设计用于金融计算的应用。你应该停止听那些混淆这些概念的人的建议。
金融计算的四舍五入规则已经标准化;该标准以十进制符号表示规则(一个例子)。因此,进行这些计算的计算系统应该能够表示十进制分数值。这不是.00000004美分是一个小数目的问题,而是强制标准的应用问题。
换句话说,十进制和固定点都可能导致不准确。在固定点表示中,加法在不溢出的情况下是精确的,但固定点的乘法与浮点的乘法一样不精确。同样的,十进制不能比二进制更准确地表示1/3。
十进制和/或固定点经常被用来具有与其他人相同的不精确性,而不是为了消除不准确性。("每个人"都包括使用钢笔和纸张进行十进制计算的人类)