考虑,
object a =1.123456;
float f = convert.ToSingle(a);
但是当我打印f的值时,我得到1.123455。
它正在四舍五入。 另外问题是我无法在代码中更改float的数据类型。 请帮忙。
答案 0 :(得分:1)
这是因为浮点类型的工作方式。 如果您想要更好的精度(以某些性能为代价) - 请改用Double或Decimal类型。
有关浮点丢失精度的原因的详细信息,请阅读: http://msdn.microsoft.com/en-us/library/c151dt3s%28VS.80%29.aspx