System.out.println(1.001*1000)输出结果为什么是1000.99999999?
System.out.println(1.001*1000)输出结果为什么是1000.99999999?
谁能帮我解释下么
------解决方案--------------------
精度问题
稍微熟悉编译原理的话
你应当知道1.001在计算机中是不能精确表示的
这种情况下,如果想不丢失精度
得用bigdemical相关的类
------解决方案--------------------double类型是无法精确表示1.001的
------解决方案--------------------学过计算机基础的人都应该知道计算机内部是二进制表示的。。。有些数不能精确表示
------解决方案--------------------此乃正解
------解决方案--------------------double类型是无法精确表示1.001的