Convert "2.45" to decimal
本文关键字:quot decimal to Convert | 更新日期: 2023-09-27 18:01:20
我知道这是最愚蠢的问题。但实际上,我在将price(string)转换为十进制时遇到了麻烦。这是我尝试过的
string s = "123.45";
decimal d = decimal.Parse(s, NumberStyles.AllowCurrencySymbol | NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint);
但是我得到Format exception
Also tried
decimal num;
bool pass = decimal.TryParse("2.85", out num);
num输出为0。
尝试指定一个以.
为小数分隔符的不变区域性:
string s = "123.45";
decimal d = decimal.Parse(
s,
NumberStyles.AllowCurrencySymbol | NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint,
CultureInfo.InvariantCulture
);
Parse
方法使用当前线程区域性来解析数字。因此,如果您使用某些文化,其中.
不是小数分隔符(例如fr-FR
),它将无法工作,因为它期望的数字是123,45
,例如。