22

当我尝试转换 0.1 之类的内容(来自文本框中的用户)时,我的值 b 始终为 false。

bool b = Decimal.TryParse("0.1", out value);

怎么会在这里工作?

4

3 回答 3

43

指定解析的文化。您当前的文化使用一些不同的数字格式,可能是0,1.

这将成功解析字符串:

bool b = Decimal.TryParse("0.1", NumberStyles.Any, CultureInfo.InvariantCulture, out value);
于 2012-07-03T13:10:47.487 回答
13

参加聚会为时已晚,但我打算建议强制文化进入美国,但不变的是更好的 sln

decimal value;
bool b = Decimal.TryParse("0.1", NumberStyles.Any, new CultureInfo("en-US"), out value);
于 2012-07-03T13:12:45.800 回答
10

Use Culture in overload method

于 2012-07-03T13:09:23.590 回答