Math.round方法举例:
Case1:小数点后第一位 = 5
正数:Math.round(11.5) = 12
负数:Math.round(-11.5) = -11
Case2:小数点后第一位 < 5
正数:Math.round(11.49) = 11
负数:Math.round(-11.49) = -11
Case3:小数点后第一位 > 5
正数:Math.round(11.69) = 12
负数:Math.round(-11.69) = -12
总结:
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,正数和负数的个位数全部加1,
小数点后等于5,正数的个位数加1,
小数点后小于5,正数和负数的个位数全不加1(保持个位数原数)。
注:这里所说的加1,是先将负号去掉,加完后,再变为负号。
System.out.println(Math.round(11.4));
System.out.println(Math.round(11.5));
System.out.println(Math.round(11.6));
System.out.println(Math.round(-11.4));//-11.4+0.5=-10.9 取floor为-11
System.out.println(Math.round(-11.5));//-11.5+0.5=-11 取floor为-11
System.out.println(Math.round(-11.6));//-11.6+0.5=-11.1 取floor 为-12