我有这行代码:
return (this.pretWithoutDiscount / Double.Parse(UtilsStatic.getEuroValue())).ToString("N2") + "€";
在调试模式中,我已经测试了,值是:
UtilsStatic.getEuroValue()=“4.1878”
this.pretWithoutDiscount = 111.0
任何人都可以解释为什么:
Double.Parse(UtilsStatic.getEuroValue())= 41878.0
什么时候应该是4.1878 ??
...谢谢
PS:UtilsStatic.getEuroValue返回一个字符串。
答案 0 :(得分:5)
你使用什么小数分隔符,我的猜测是','。试试
Double.Parse(UtilsStatic.getEuroValue(),
System.Globalization.CultureInfo.InvariantCulture)
将使用'。'解析数字。作为小数点分隔符。
答案 1 :(得分:-2)
您似乎在处理资金问题,因此应使用decimal
类型代替double
。