我遇到了有关使用 C# .NET 从字符串转换为十进制的问题。问题是我编写了以下代码并且在我的开发 Windows 7 .NET Framework 3.5 系统上运行良好。但是,如果我将应用程序移动到 Windows 2003 Server .NET 3.5 Framework 上,结果就会不同。谁能理解那里发生了什么?
代码:
dec = Convert.ToDecimal(strDec);
Windows 7 结果:85.00 Windows 2003 结果:8500
最佳答案
可能是你服务器上的区域和文化设置用,
为十进制,.
为数字分组。请参阅控制面板/区域和文化设置。
如果这个数字字符串是由您的应用程序生成的,我会在这两个地方使用 CultureInfo.InvariantCulture
。
Decimal dec = 85.0m;
string s = dec.ToString (CultureInfo.InvariantCulture);
decimal.Parse(s, CultureInfo.InvariantCulture);
关于c# - 字符串转十进制之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6499003/