【发布时间】:2013-07-11 07:35:09
【问题描述】:
在谷歌搜索后,使用下面的代码仍然无法编译:
decimal h = Convert.ToDecimal("2.09550901805872E-05");
decimal h2 = Decimal.Parse(
"2.09550901805872E-05",
System.Globalization.NumberStyles.AllowExponent);
【问题讨论】:
-
你需要从字符串convert吗?你不能直接输入文字
2.09550901805872E-05M吗? -
只能编译tryparse
-
这对我来说编译得很好。你会得到一个运行时异常。
-
@ControlPoly 这是错误的。 TryParse 不会抛出异常,而 Parse 可能会在失败时抛出异常。仅仅因为某事没有引发异常,并不意味着它是正确的。您应该解决问题,即为什么抛出异常(错误格式),而不是症状(异常)。由于格式正确,正确的解决方案是通过正确的标志和区域性设置让 Decimal.Parse 接受格式。