首页 > 解决方案 > 数组元素点浮点数被截断

问题描述

发生:

double ages[] = new double[] {2D, 3D, 4D, 5D};
ages[0] = 7/2; 
Index  Element
0      3.0    
1      3.0
2      4.0
3      5.0 

有道理,因为:

7 个整数 / 2 个整数 = 3 个整数

但是,当它在最后附加后缀DFages[0] = 7/2;INDEX 0会出现小数点,即使我们在除整数时也是如此:

double ages[] = new double[] {2D, 3D, 4D, 5D};
ages[0] = 7/2D; 
Index  Element
0      3.5
1      3.0
2      4.0
3      5.0 

为什么即使后缀D假设为“可选”,它也会被截断?

标签: javaarraystypesprimitiveprimitive-types

解决方案


7 / 2int/int操作,因此结果是3。当你将它分配给一个floatordouble变量时,它会变成3.0.


推荐阅读