JAVA的输出问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 00:55:56
System.out.println(1-0.1-0.1-0.1-0.1-0.1);
输出的数字 是 0.5000000000000001 而不是 0.5. 为什么?
System.out.println(1.0-0.9);
输出是0.09999999999999998 为什么?

数据类型精度的问题。系统自动把0.1这种小数看成double型了。
强制转换成float型即可
System.out.println((float)(1-0.1-0.1-0.1-0.1-0.1));

楼上的说的没错.就是类型精度的问题.

系统把你的输入0,1认为是二进制了吧!