.NET:解析本地化货币

时间:2010-01-21 07:56:27

标签: c# .net localization

假设我有一个string,而string的价值就是一定数量的资金。通过本地化,我的意思是,如果该国家可能使用逗号而不是小数点,例如。 (这只是我知道的一个本地化差异。)

如何将这些string中的一个解析为decimal个数字等价物? decimal.TryParse()会识别本地化格式吗?如何使用CultureInfo指定TryParse()

2 个答案:

答案 0 :(得分:7)

以下是具有指定decimal.TryParse的{​​{1}}示例(本例中为瑞典语):

CultureInfo

答案 1 :(得分:0)

decimal.TryParse带有2个重载。其中一个将文化信息作为参数(CultureInfo实现IFormatProvider):

System.Decimal.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out decimal result)

另一个参数少得多,并使用系统CultureInfo:

System.Decimal.TryParse(string s, out decimal result)

我不完全确定,但我认为您可以通过以下方式设置当前的系统文化:

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("sv-SE");