我有以下代码:
object obj=GetParameterValue('PARAM1');//
decimal value=Convert.ToDecimal(obj);
GetparameterValue 方法返回一个对象。假设对象的值为 1268.08。当我在自己的机器 IIS 上部署我的应用程序时,值是正确的。但是,如果我在另一个区域设置为俄语的 IIS 上尝试它,我得到 126808。如果我用下面的代码替换第二行代码,则数字返回正确:
decimal value=Convert.ToDecimal(obj,new CultureInfo("ru-RU"));
但我不想只坚持俄罗斯文化。我已经尝试过 InvariantCulture 但它不起作用,我仍然得到 126808 而不是 1268.08。在这种情况下我该怎么办?
1.我应该为我的代码配置要部署应用程序的机器吗
2.我应该为某些特定的文化编写代码吗?(这与第一种情况没有太大区别)
3.如果以上都不对,是否有更好的通用方法?