Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.6)的结果为-11;floor的英文是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11,Math.floor(-11.4)的结果-12;最难掌握的是round方法,他表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果为-11.Math.round( )符合这样的规律:小数点后大于5全部加,等于5正数加,小于5全不加。
(1)public static long round(double a)
//import java.math.*;
public class RoundTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Math.round():Java中的四舍五入函数
System.out.println("Case1:小数点后第一位 = 5");
System.out.println("正数:Math.round(11.5) = " + Math.round(11.5));
System.out.println("负数:Math.round(-11.5) = " + Math.round(-11.5));
System.out.println("Case2:小数点后第一位 < 5");
System.out.println("正数:Math.round(11.49) = " + Math.round(11.49));
System.out.println("负数:Math.round(-11.49) = " + Math.round(-11.49));
System.out.println("Case3:小数点后第一位 > 5");
System.out.println("正数:Math.round(11.69) = " + Math.round(11.69));
System.out.println("负数:Math.round(-11.69) = " + Math.round(-11.69));
System.out.println("结论:正数小数点后大于5则进位;负数小数点后小于以及等于5都舍去,大于5的则进位");
System.out.println("也就是说:小数点后大于5全部加,等于5正数加,小于5全不加");
}
}