基本上,我有这个非常简单的计算:
int bTaxPrice = int.Parse(prices[wep]);
double t = double.Parse("1." + taxes);
double price = Math.Round(t * bTaxPrice);
我将举例说明计算应该如何运作,让我们说t=1.1
和bTaxPrice=1279
,然后1.1*1279 = 1406.9
,但是因为我将结果四舍五入价格等于1407。
对于使用我的C#Winforms程序的其他国家/地区(丹麦)的某些用户遇到的问题导致该数字不会舍入,而是添加小数点后的最后2位数。
我们上面计算的结果是1407,对于他们来说是140690.
我在互联网上看过它,有些国家的小数点也有一些特别之处。
对于这类问题有什么好处?
答案 0 :(得分:4)
实际上,许多国家/地区都使用逗号作为小数点分隔符。
如果要将点用作分隔符,请使用不变CultureInfo
:
double.Parse("1." + taxes, CultureInfo.InvariantCulture);
答案 1 :(得分:2)
某些国家/地区使用逗号作为小数点分隔符。您可以通过向CultureInfo.InvariantCulture
方法提供double.Parse
来解决此问题。