我有一个通过参数收到的简单字符串:
“1.00”
根据访问者的区域设置,它有时会转换为:
“1”或“1,00”
第二个是问题,我总是需要它是一个句点(点)。 $,£
我正在使用:
decimal price = Convert.ToDecimal(stringPrice, new CultureInfo("en-GB"));
如果我使用en-GB文化,为什么它仍然会转换为“1,00”小数?我尝试了InvariantCulture,同样的事情发生了。为什么会这样?它应该没关系,因为它在后端,对吧?
答案 0 :(得分:2)
转换正常 - 在内部,您的变量(价格)得到1.00的十进制表示。无论你看到" 1,00"或其他什么取决于你输出变量的位置。请查看您的打印方式,了解它的显示方式。