public class Change {
public static void main(String args[]){
System.out.print(2.00-1.10);
}}为什么打印出来的不是0.90,我百度了下 有人说1.1不是精确的double类型,有谁能帮忙解释下么?是不是还有其他的数也不是精确double的?谢谢!
public static void main(String args[]){
System.out.print(2.00-1.10);
}}为什么打印出来的不是0.90,我百度了下 有人说1.1不是精确的double类型,有谁能帮忙解释下么?是不是还有其他的数也不是精确double的?谢谢!
计算机的位数是有限的,而实数是无限的,计算机不可能用有限的bits表示无限的数。
google IEEE754
System.out.print((float)(2.00-1.10));这样可以输出0.9