在计算Integer数据的除法的时候经常会出现结果为小数的情况,例如:
Integer a = 1000;
Integer b =300;
Integer num = b/a;
若直接运行这个段代码的话打印输出的结果为:0。
这就不是我们开发中想要的结果了,如何获得实际中的数据呢,且往下看:
由于Integer数据在的精度没有精确到小数点以后,所以我们要将进行计算的数据转换成double
或者是float型的数据,转换方法如下:
Integer a = 1200;
Integer b =300;
float a1 = (float) a;// 强制类型转换
float b1 = (float) b;// 强制类型转换
float num = b/a;// 这里得到的结果是实际想要的结果0.25
//-----------------------------------------------------------------------------
若要对得到的结果进行四舍五入(转换成int)可以使用:天花板函数和地板函数。
Math.ceil(double);
Math.floor(double);//天花板和地板函数四舍五入得到的是double数据,通过强制类型转换成int
也可以使用:
Math.round(double);// 四舍五入成long型的数据,通过强制类型转换成int
Math.round(float);// 四舍五入成int
///
上面就是对int和float进行转换的方法。