我有以下代码:
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.如果上述情况都不正确,是否有更好的,更普遍的方式?
答案 0 :(得分:0)
使用
CultureInfo.CurrentCulture
这是最好的通用方式。