如何选择正确的CultureInfo以便小数始终是正确的

时间:2013-07-09 09:42:46

标签: asp.net decimal cultureinfo

我有以下代码:

 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.如果上述情况都不正确,是否有更好的,更普遍的方式?

1 个答案:

答案 0 :(得分:0)

使用

CultureInfo.CurrentCulture

这是最好的通用方式。