以下所有方法都接受字符串中的逗号才能正常工作并将字符串转换为十进制。
decimal.Parse("12,3", CurrentCulture) //or InvariantCulture it doesn't matter.
decimal.TryParse("12,3", out d)
Convert.ToDecimal("12,3")
我认为原因是服务器代码(C#)基于当前文化执行。这是因为我已将<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true" />
添加到web.config文件中。当前文化的CurrencyDecimalSeparator是逗号。
现在我的问题是,如果我将代码(发布)移动到位于另一个区域和具有另一个CurrencyDecimalSeparator的国家/地区的服务器,它是否会引发异常?这个字符串如何转换为与文化相关的十进制有效?有没有一般的方法来处理它?