Java基础 -2.3

浮点数类型

所有的数据类型进行自动转型的时候都是由小类型到大类型进行自动转换处理。默认的类型为double,但是也可以定义位数相对较少的float变量
,此时从赋值的时候就必须采用强制类型转换

public class ddd {
	public static void main(String[] args) {
		float x = 10.2f;
		float y = (float) 10.2;
		System.out.println(x*y);
	}
}

>>>104.03999

正确结果应是104.04
这个结果是java从诞生到今所有版本的bug
解决不了 也不要解决
你用float时就要考虑到这些情况

public class ddd {
	public static void main(String[] args) {
		int x = 10;
		int y = 4;
		System.out.println(x/y);
	}
}
>>> 2

整型计算得到的是整型 是不保存有小数点 所以得到结果是2 如果要得到2.5 需要转型 float 或者double都行

public class ddd {
	public static void main(String[] args) {
		int x = 10;
		int y = 4;
		System.out.println((double)x/y);
	}
}
>>> 2.5

以后计算的时候千万要注意你选择的数据类型,将直接决定小数点的问题 这一点至关重要

原文地址:https://www.cnblogs.com/sakura579/p/12295380.html