【发布时间】:2022-01-25 07:42:07
【问题描述】:
我在一台计算机上执行此操作时遇到问题:
字符串 S1 = "000,00"; 十进制 D1 = Decimal.Parse(S1);
System.FormatException: (*) in System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo System.Number.ParseDecimal(String) 中的信息,布尔型 parseDecimal) 值,NumberStyles 选项,NumberFormatInfo numfmt)
它适用于其他计算机。
我尝试了所有想到的东西,其中包括:
Decimal.Parse(S1, CultureInfo.InvariantCulture);
Decimal.Parse(S1, new CultureInfo("pl-PL"));
Decimal.Parse(S1, new CultureInfo("en-US"));
将 ',' 更改为 '.' 试过 decimal.Parse、Double.Parse、double.Parse = 同样的问题。
【问题讨论】:
-
CultureInfo.CurrentCulture 将为您提供客户端 PC 中启用的文化的解析。
-
您是否检查过它们是否安装了相同的 .NET 框架?