当前位置: 代码迷 >> Java相关 >> System.out.println(1.001*1000)输出结果为什么是1000.99999999?解决方法
  详细解决方案

System.out.println(1.001*1000)输出结果为什么是1000.99999999?解决方法

热度:11259   发布时间:2013-02-25 21:48:14.0
System.out.println(1.001*1000)输出结果为什么是1000.99999999?
System.out.println(1.001*1000)输出结果为什么是1000.99999999?
谁能帮我解释下么

------解决方案--------------------------------------------------------
精度问题
稍微熟悉编译原理的话
你应当知道1.001在计算机中是不能精确表示的
这种情况下,如果想不丢失精度
得用bigdemical相关的类
------解决方案--------------------------------------------------------
double类型是无法精确表示1.001的
------解决方案--------------------------------------------------------
学过计算机基础的人都应该知道计算机内部是二进制表示的。。。有些数不能精确表示

探讨

精度问题
稍微熟悉编译原理的话
你应当知道1.001在计算机中是不能精确表示的
这种情况下,如果想不丢失精度
得用bigdemical相关的类

------解决方案--------------------------------------------------------
此乃正解
探讨
精度问题
稍微熟悉编译原理的话
你应当知道1.001在计算机中是不能精确表示的
这种情况下,如果想不丢失精度
得用bigdemical相关的类

------解决方案--------------------------------------------------------
double类型是无法精确表示1.001的
  相关解决方案