代码之家  ›  专栏  ›  技术社区  ›  Gerrit de Swardt

如何解决含税和不含税价格的准确性问题?

  •  0
  • Gerrit de Swardt  · 技术社区  · 2 年前

    用户应该能够输入他们想要出售商品的全包价格。我商店计算了商品的独家价格、加价、成本和税率。使用这个,我计算了包含价格(我们的用户希望看到的)。

    我可以通过 exclusive = desired inclusive * 100 / (100 + tax rate) .恢复到包含价格: calculated inclusive = exclusive * (1 + (tax rate /100)) 用户输入200作为期望的包含销售价格:

    exclusive = 200 * 100 / (100 + 15) = 173,913043478261
    

    再次计算包含:

    calculated inclusive = 173,913043478261 * (1 + (15/100)) = 200
    

    我需要巨大的精度,四舍五入并不能可靠地解决这个问题。如果我不在独占量上存储大的精度,独占/包含计算就不起作用。这是最好的做法吗?它需要多大的精度才能可靠?

    另一种选择是包含商店的价格和税率。然后我可以计算税额,四舍五入到小数点后的第二位,并在需要独占时减去。然后我只需要四舍五入一次(关于税额),就不必存储大量精确的数字。什么方法是最好的?

    0 回复  |  直到 2 年前