Java中的取整、四舍五入

1、直接强制转换--取整

public class temp {
	
	public static void main(String[] args) {
		System.out.println("正数:(int)10.12 = " + (int)10.12);   
        System.out.println("负数:(int)-10.12 = " + (int)-10.12);  
        System.out.println("---------------------------------");
        System.out.println("正数:(int)1011111111111111111111.12 = " + (int)1011111111111111111111.12);   
        System.out.println("负数:(int)-1011111111111111111111.12 = " + (int)-1011111111111111111111.12);  
	}
}

结果:

    直接用强制转换的方式将浮点型数据转换为整型时,直接去掉小数点后部分的精度,取整数部分; 直接强制取整有精度风险 一方面是小数位损失 另一方面当浮点型数字超过整型数字最大值时,会发生溢出 实际工程中,如果这两种因素都不会对工程产生影响,可以使用,否则不建议使用。

2、Java提供的函数

    double Math.ceil(double num); Math.ceil(double num);函数是取浮点数的天花板数,即不小于num的最小整数; double Math.floor(double num); Math.floor(double num)函数是取地板数,即不大于num的最大整数。 Math.round(double num); 参数的小数点后第一位<5,运算结果为参数整数部分。 参数的小数点后第一位>5,运算结果为参数整数部分绝对值+1,符号(即正负)不变。 参数的小数点后第一位=5,正数运算结果为整数部分+1,负数运算结果为整数部分。

参考文献

经验分享 程序员 微信小程序 职场和发展