我正在读取其中包含值的XML文件。当我阅读它们时,它们是字符串。

因此,当我尝试将它们转换为DoubleDecimal时,该点消失了。

decimal dec = Convert.ToDecimal("3.1922");
MessageBox.Show(dec.ToString()); // 31922


我究竟做错了什么?

最佳答案

这跟你现在的文化有关

decimal dec = Convert.ToDecimal("3.1922",CultureInfo.CreateSpecificCulture("de-DE"));
MessageBox.Show(dec.ToString()); //31922

dec = Convert.ToDecimal("3.1922", CultureInfo.CreateSpecificCulture("en-US"));
MessageBox.Show(dec.ToString()); //3.1922

dec = Convert.ToDecimal("3,1922", CultureInfo.CreateSpecificCulture("de-DE"));
MessageBox.Show(dec.ToString()); //3.1922

09-11 01:35