存储价格含税

时间:2012-07-20 10:59:07

标签: decimal

我有一个收银系统,里面有价格和税收领域。价格是在没有税的情况下输入的(按照美国的惯例)。

对于欧洲的一些人,他们喜欢在价格中纳税。例如:

含税30.00 税率10%

为了存储无税价格,价格为: 27.2727273

问题是,在我的系统中,我只允许价格的2个小数点。

这样做的最佳方法是增加价格字段允许的小数点数并计算英国客户的免税价格并存储吗?

我需要多少小数点?

2 个答案:

答案 0 :(得分:1)

如果我们谈论货币,您需要更多的两位小数点准确度。我会说你需要至少4个小数点精度才能得到简单的事实。给予足够交易的1/100美分和1/1000美分可以是一笔不错的资金

  

最好的方法是增加小数点数   允许价格字段并计算英国无税的价格   客户并存储它?

您的问题的解决方案是存储3个数字。

  • 不含税项目的价格。
  • 税额
  • 含税总价

这将允许您为任何客户存储相同信息,对于任何客户而言,重要的是他们输入和/或显示价格的方式。

可悲的是,这个评论有点长,而且由于没有代码,我无法提供任何代码。

答案 1 :(得分:0)

我认为你最好的办法是不存税额。

存储适用于/到日期的税率税率,并通过将该税率应用于价格来获取所需的税额。当税率发生变化时,这也会让你变得更容易(因为英国的增值税税率不是很久以前)。

对于实际价格,您应该能够获得2位小数,因为舍入将应用于每笔交易,因为它们发生在“现实世界”中 - 即没有人支付6.66英镑和2英镑 - 第三,它将四舍五入到6.67英镑。

如果您交易的不是离散的实物(石油,外币,股票),那么是的,您需要能够记录最低货币面额的分数。

相关问题