0

考虑 ,

object a =1.123456;
float f = convert.ToSingle(a);

但是当我打印 f 的值时,我得到 1.123455。

它正在四舍五入。另外问题是我无法更改代码中浮点数的数据类型。请帮忙。

4

1 回答 1

1

这是因为浮点类型的工作方式。如果您想要更好的精度(以牺牲一些性能为代价) - 请改用 Double 或 Decimal 类型。

有关浮点为何失去精度的更多信息,请阅读:http: //msdn.microsoft.com/en-us/library/c151dt3s%28VS.80%29.aspx

于 2010-08-24T09:07:10.377 回答