当我尝试转换类似0.1的内容(来自文本框中的用户)时,我的值b始终为false。
bool b = Decimal.TryParse("0.1", out value);
怎么可以在这里工作?
答案 0 :(得分:40)
指定解析的区域性。您当前的文化使用了一些不同的数字格式,可能是0,1
。
这将成功解析字符串:
bool b = Decimal.TryParse("0.1", NumberStyles.Any, CultureInfo.InvariantCulture, out value);
答案 1 :(得分:10)
在重载方法
中使用Culture
答案 2 :(得分:8)
参加派对太晚了,但是我打算建议将文化强制给美国,但是Invariant是一个更好的sln
decimal value;
bool b = Decimal.TryParse("0.1", NumberStyles.Any, new CultureInfo("en-US"), out value);