【发布时间】:2013-10-14 15:06:00
【问题描述】:
我不明白为什么在使用decimal.Parse 时必须指定NumberStyles.Float 而不是double.Parse
我能做到:
var tmp = double.Parse("1e-2");
但不是:
var tmp1 = decimal.Parse("1e-2");
因为System.FormatException(输入字符串的格式不正确)被抛出
var tmp1 = decimal.Parse("1e-2", System.Globalization.NumberStyles.Float);
有人可以告诉我这种行为背后是否有充分的理由
【问题讨论】:
-
您的屏幕截图似乎在第 15 行显示失败无论您指定的内容。尽管第 14 行执行完全相同的操作,但您的最后一个似乎在第 15 行出现问题。真的吗?
-
@JonSkeet 我知道,这太疯狂了。他们是真实的。我不是在开玩笑
-
Jon Skeet 有解释here
标签: c# .net number-formatting formatexception