我总是听说浮点数存在舍入误差,因此必须使用小数类型代替融资的浮点数。 finance
是什么意思?他们是否仅考虑金钱,而金,铜,铁,蜂蜜,木材,羊毛,谷物仍应按实际数量计算或十进制类型必须始终用于任何重要资产?因为你知道,如果你损失了.0000000004美分,它可能不会像你在真实材料价值中损失相同数量一样糟糕。我只是不喜欢双重标准。
答案 0 :(得分:3)
必须使用“十进制类型来代替财务的浮点数”混合正交概念。无论分数值是用定点还是浮点表示,二进制对于财务应用程序来说通常都是一个坏主意。 Decimal floating-point被设计为财务计算,作为一个有用的应用程序。你应该停止倾听那些混淆这些概念的人。
财务计算四舍五入的规则是标准化的;标准表达了关于十进制表示法的规则(one example)。因此,用于执行这些计算的计算系统应该能够表示小数分数值。这不是.00000004美分的问题,这是一个应用强制性标准的问题。
换句话说,十进制和定点都可能导致不准确。只要它不溢出,加法恰好在定点中是精确的,但定点乘法不比浮点乘法精确。类似地,十进制不能表示1/3正好比二进制更多。
十进制和/或定点通常用于与其他人一样具有相同的不准确性,而不是消除不精确性。 (“所有人”包括用笔和纸计算小数的人)
答案 1 :(得分:1)
如果小数部分的精确表示比其他分数的精确表示更重要,请使用十进制算术。
如果小数点后面有固定的位数,请使用固定点。如果不使用浮点。
通常,二进制浮点更有效和紧凑,因此如果小数舍入的舍入不比其他计算的舍入更不合适,那么请使用它。
十进制财务并不总是适用。例如,使用具有对数函数的浮点类型可以更快更简单地完成某些复利率估算。
铁是否有一些带有小数部分的单位,并且在涉及这些分数的计算中是否需要精确?