0

我用逗号输入的 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。

4

1 回答 1

0

来自MSDN

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

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

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

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

于 2012-11-19T10:32:52.750 回答