目录
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,负数运算结果为整数部分。