我知道这是最愚蠢的问题.但实际上我很难将价格(字符串)转换为小数.这是我尝试过的
string s = "123.45";
decimal d = decimal.Parse(s, NumberStyles.AllowCurrencySymbol | NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint);
Run Code Online (Sandbox Code Playgroud)
但我得到格式异常
也试过了
decimal num;
bool pass = decimal.TryParse("2.85", out num);
Run Code Online (Sandbox Code Playgroud)
num表示为0.
任何帮助将不胜感激.
尝试指定不变文化,其中.是小数分隔符:
string s = "123.45";
decimal d = decimal.Parse(
s,
NumberStyles.AllowCurrencySymbol | NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint,
CultureInfo.InvariantCulture
);
Run Code Online (Sandbox Code Playgroud)
该Parse方法使用当前线程文化来解析数字.因此,如果您使用的某些文化.不是小数点分隔符(fr-FR例如),那么它将无法正常工作,例如它所期望的数字123,45.
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |