【发布时间】:2014-10-03 03:28:26
【问题描述】:
我了解由于舍入误差问题,货币值应作为整数存储和处理。这对我来说很有意义,我明白了(我认为)。
但是税率呢?是否有任何理由需要将税率(不是税额,税率,例如 6.5 或 8.125)存储为整数而不是小数?
如果我将税率存储为整数,如何将税率应用于交易中的美元金额?如果我以 6.5% 的税率计算 10000 * 1.065 ($100.00 * 1.065),那么在数据库中将 6.5% 存储为 6500 而不是 6.500 会有什么好处?我不认为一次将一个数字乘以或除以 100 会导致舍入错误。
我如何存储税率重要吗?
【问题讨论】:
-
浮点运算出现问题 (here is one explanation)。如果您将税率存储为 decimal 而不是浮点数,并确保公式的结果是 decimal 精度值而不是浮点数,我不知道会有任何舍入误差。你在什么环境下做这个?更多信息和用例/示例,有人可以提供更多指导。
标签: floating-point decimal currency rounding-error