Math.Round() 十进制值不正确
Math.Round() Decimal Incorrect value
我已经观察并尝试了很多不同的东西 none 工作。它们提供了相同的错误值。
错误
- 不含增值税:£8.33 增值税:£1.67 总计:£9.99
右
- 不含增值税:24.99 英镑增值税:5.00 英镑总计:29.99 英镑
- 不含增值税:70.83 英镑增值税:14.17 英镑总计:85.00 英镑
- 不含增值税:16.66 英镑增值税:3.33 英镑总计:19.99 英镑
计算增值税的代码
**VAT = 1.2**
var totalVat = orderLine.MixPrice - (orderLine.MixPrice / orderLine.VatPerItem);
var priceMinusVat = orderLine.MixPrice - totalVat;
我试过的
var roundPriceMinusVat = Math.Round(Convert.ToDecimal(priceMinusVat), 2);
var roundTotalVat = Math.Round(Convert.ToDecimal(totalVat), 2);
var roundPriceMinusVat = Math.Round(Convert.ToDecimal(priceMinusVat), 3);
var roundTotalVat = Math.Round(Convert.ToDecimal(totalVat), 3);
var roundPriceMinusVat = Math.Round(Convert.ToDecimal(priceMinusVat), 3, MidpointRounding.AwayFromZero);
var roundTotalVat = Math.Round(Convert.ToDecimal(totalVat), 3, MidpointRounding.AwayFromZero);
从技术上讲我知道这是正确的,但是因为这是面向客户的,所以我知道有人会用计算器和电子邮件解决这个问题 "this is wrong it doesn't add up"。
我真的不知道该怎么办?
感谢任何帮助。
谢谢,
克莱尔
你的问题是真值是 9.99/1.2=8.325 和 9.99-(9.99/1.2)=1.665。将两者四舍五入将导致盈余 0.005+0.005=0.01。计算
先计算税金,决定向上或向下取整并取整税金,然后从价格中减去含税金。
我已经观察并尝试了很多不同的东西 none 工作。它们提供了相同的错误值。
错误
- 不含增值税:£8.33 增值税:£1.67 总计:£9.99
右
- 不含增值税:24.99 英镑增值税:5.00 英镑总计:29.99 英镑
- 不含增值税:70.83 英镑增值税:14.17 英镑总计:85.00 英镑
- 不含增值税:16.66 英镑增值税:3.33 英镑总计:19.99 英镑
计算增值税的代码
**VAT = 1.2**
var totalVat = orderLine.MixPrice - (orderLine.MixPrice / orderLine.VatPerItem);
var priceMinusVat = orderLine.MixPrice - totalVat;
我试过的
var roundPriceMinusVat = Math.Round(Convert.ToDecimal(priceMinusVat), 2);
var roundTotalVat = Math.Round(Convert.ToDecimal(totalVat), 2);
var roundPriceMinusVat = Math.Round(Convert.ToDecimal(priceMinusVat), 3);
var roundTotalVat = Math.Round(Convert.ToDecimal(totalVat), 3);
var roundPriceMinusVat = Math.Round(Convert.ToDecimal(priceMinusVat), 3, MidpointRounding.AwayFromZero);
var roundTotalVat = Math.Round(Convert.ToDecimal(totalVat), 3, MidpointRounding.AwayFromZero);
从技术上讲我知道这是正确的,但是因为这是面向客户的,所以我知道有人会用计算器和电子邮件解决这个问题 "this is wrong it doesn't add up"。
我真的不知道该怎么办?
感谢任何帮助。
谢谢,
克莱尔
你的问题是真值是 9.99/1.2=8.325 和 9.99-(9.99/1.2)=1.665。将两者四舍五入将导致盈余 0.005+0.005=0.01。计算
先计算税金,决定向上或向下取整并取整税金,然后从价格中减去含税金。