decimal.TryParse返回false

Igo*_*r S 3 c# currency cultureinfo decimal

例如,文本框中的输入字符串为10.00美元.我打电话

decimal result;
var a = decimal.TryParse(text, NumberStyles.AllowCurrencySymbol, cultureInfo, out result);
Run Code Online (Sandbox Code Playgroud)

cultureInfo是已知的(en-US).为什么decimal.tryParse返回错误?

谢谢.

dle*_*lev 9

问题是你已经允许货币符号本身,但是你已经省略了正确解析它所需的其他属性(例如小数点).你真正想要的是NumberStyles.Currency:

decimal.TryParse("$10.00", NumberStyles.Currency, cultureInfo, out result);
Run Code Online (Sandbox Code Playgroud)