假设我有一个string
,而string
的价值就是一定数量的资金。通过本地化,我的意思是,如果该国家可能使用逗号而不是小数点,例如。 (这只是我知道的一个本地化差异。)
如何将这些string
中的一个解析为decimal
个数字等价物? decimal.TryParse()
会识别本地化格式吗?如何使用CultureInfo
指定TryParse()
?
答案 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");