文化信息逗号不会将我的小数作为十进制读取

时间:2012-11-19 10:28:04

标签: c# cultureinfo

我用逗号输入的db中my_waste的值是:

16.78

我通过linq进行选择:

res.Add("testdb", p.my_waste);

我得到1678。

我试过了:

res.Add("test", double.Parse(p.my_waste.ToString(), CultureInfo.InvariantCulture));

res.Add("test", string.Format(CultureInfo.InvariantCulture, "{0:0.00}", p.my_waste));

我还有1678年。

1 个答案:

答案 0 :(得分:0)

来自MSDN

  

不变文化对文化不敏感;它与英语有关,但与任何国家/地区无关。

这意味着它希望数字具有小数点,因为英语(所有变体)使用小数点而不是小数点。

如果您使用小数点逗号输入数据,则需要使用带有小数逗号的文化(例如法语)到字符串< - >号码转换。

目前,逗号被视为千位分隔符并被有效忽略,因此“16,78”按照您所观察到的1678出现。