1

我有以下代码:

 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.如果以上都不对,是否有更好的通用方法?

4

1 回答 1

0

利用

CultureInfo.CurrentCulture

这是最好的通用方法。

于 2013-08-22T04:39:32.390 回答