我需要你的帮助。
下面的代码在安装了3.5和4.5 .NET框架的Win7/Win8机器上运行良好。
CultureInfo info = CultureInfo.CreateSpecificCulture("hr-HR");
string ui = txtUkupanIznos.Text.Trim();
decimal pvalue;
if (decimal.TryParse(ui, NumberStyles.Any, info, out pvalue))
{
decimal poreznaStopa = 0.00m;
decimal ukupanIznos = 0.00m;
try
{
poreznaStopa = Convert.ToDecimal(txtstopa.Text.Replace(".", ","), info);
ukupanIznos = Convert.ToDecimal(ui.Replace(".", ","), info);
}
...但是在安装了.NET Framework3.5 SP1的XP机器上,这会抛出一个FormatException,所以我需要删除Replace(".", ",")
为什么?
发布于 2013-07-02 23:27:37
我的猜测是为克罗地亚定义的区域设置可能在这些Windows版本之间发生了变化。如果您在MSDN中运行示例代码以输出三台不同PC上的设置,您会看到数字格式是什么?
发布于 2013-07-02 23:28:56
在Windows Vista之前,这种文化很可能没有定义。我猜hr-HR在旧版操作系统中可能没有任何意义。
https://stackoverflow.com/questions/17429490
复制相似问题