C# Decimal.TryParse不';t解析我的十进制值

C# Decimal.TryParse不';t解析我的十进制值,c#,decimal,tryparse,C#,Decimal,Tryparse,当我尝试转换类似于0.1的值(来自文本框中的用户)时,我的值b总是false bool b = Decimal.TryParse("0.1", out value); 它是如何工作的?在重载方法中使用区域性指定解析的区域性。您当前的区域性使用一些不同的数字格式,可能是0,1 这将成功解析字符串: bool b = Decimal.TryParse("0.1", NumberStyles.Any, CultureInfo.InvariantCulture, out value); 去派对太晚了

当我尝试转换类似于0.1的值(来自文本框中的用户)时,我的值b总是false

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

它是如何工作的?

在重载方法中使用
区域性

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

这将成功解析字符串:

bool b = Decimal.TryParse("0.1", NumberStyles.Any, CultureInfo.InvariantCulture, out value);

去派对太晚了,但我想建议强迫文化来改变我们,但不变量是更好的sln

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

你的区域设置是什么?它对我有效,你在使用它之前提到过值吗?Nikhil,如果返回值是
false
,那么它就非常不相关了。我刚刚在Mono中尝试过这个,抱歉,没有靠近windows box atm,这个方法很有效。这是你的密码吗?out变量的类型是什么?你能检查一下你的输出变量吗,它被填充了吗?我的代码现在是:bool isFutureValueDecimal=Decimal.TryParse(“0.1”,输出futurevalue);如果(isFutureValueDecimal==false){e.Handled=true;}这是真正的解决方案