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