用户应该能够输入他们想要出售商品的全包价格。我商店计算了商品的独家价格、加价、成本和税率。使用这个,我计算了包含价格(我们的用户希望看到的)。
我可以通过
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
我需要巨大的精度,四舍五入并不能可靠地解决这个问题。如果我不在独占量上存储大的精度,独占/包含计算就不起作用。这是最好的做法吗?它需要多大的精度才能可靠?
另一种选择是包含商店的价格和税率。然后我可以计算税额,四舍五入到小数点后的第二位,并在需要独占时减去。然后我只需要四舍五入一次(关于税额),就不必存储大量精确的数字。什么方法是最好的?