Decimal.TryParse不解析我的十进制值

cad*_*108 19 c# decimal tryparse

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

bool b = Decimal.TryParse("0.1", out value);
Run Code Online (Sandbox Code Playgroud)

怎么可以在这里工作?

Guf*_*ffa 41

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

这将成功解析字符串:

bool b = Decimal.TryParse("0.1", NumberStyles.Any, CultureInfo.InvariantCulture, out value);
Run Code Online (Sandbox Code Playgroud)


bur*_*ION 10

用于Culture过载方法


Mat*_*rts 8

参加派对太晚了,但是我打算建议把文件强制给美国,但是Invariant是一个更好的sln

decimal value;
bool b = Decimal.TryParse("0.1", NumberStyles.Any, new CultureInfo("en-US"), out value);
Run Code Online (Sandbox Code Playgroud)