我有这行代码:
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返回一个字符串。
发布于 2010-05-17 20:18:50
你用的是什么十进制分隔符,我猜是',‘。试一试
Double.Parse(UtilsStatic.getEuroValue(),
System.Globalization.CultureInfo.InvariantCulture) ,它将使用“.”解析数字。作为十进制分隔符。
发布于 2010-05-17 20:16:53
看起来你在处理金钱问题,所以应该使用decimal类型而不是double类型。
https://stackoverflow.com/questions/2852402
复制相似问题