如何将挪威货币 (kr) 解析为十进制?
我正在尝试解析这些:
477,60
2.320,00
此代码不起作用,并抛出十进制解析异常,即使我已将挪威指定为解析的区域性。
Convert.ToDecimal("2.320,00", System.Globalization.CultureInfo.GetCultureInfo("nb-NO"))
所以挪威文化没有定义 NumberFormat.NumberGroupSeparator
,因此您会收到此异常。所以你需要定义它们:
CultureInfo info = CultureInfo.CreateSpecificCulture("nb-NO");
var numberFormat = info.NumberFormat;
numberFormat.NumberGroupSeparator = ".";
numberFormat.CurrencyGroupSeparator = ".";//this if you are using currency
numberFormat.PercentGroupSeparator = ".";//this for percentages
之后尝试使用decimal.TryParse
方法:
decimal result = 0;
decimal.TryParse("2.320,00", NumberStyles.AllowDecimalPoint|NumberStyles.AllowThousands, info, out result);
在这里Full Example
我是一名优秀的程序员,十分优秀!