首页 > 代码库 > Math.round()
Math.round()
在 JAVA 中四舍五入采用 Math.round(T a) 函数,函数返回的是一个 long 类型的长整型,参数 a 可以是 double 也可以是 float。
查看 JDK 源码:
public static long round(double a) { if (a != 0x1.fffffffffffffp-2) // greatest double value less than 0.5 return (long)floor(a + 0.5d); else return 0;}
public static double floor(double a) { return StrictMath.floor(a); // default impl. delegates to StrictMath}
public static double floor(double a) { return floorOrCeil(a, -1.0, 0.0, -1.0); }
其实具体实现还是挺复杂的。
需要注意的是 a 为负数的情况。
1 System.out.println("小数点后第一位=5"); 2 System.out.println("正数:Math.round(11.5)=" + Math.round(11.5)); 3 System.out.println("负数:Math.round(-11.5)=" + Math.round(-11.5)); 4 System.out.println(); 5 System.out.println("小数点后第一位<5"); 6 System.out.println("正数:Math.round(11.46)=" + Math.round(11.46)); 7 System.out.println("负数:Math.round(-11.46)=" + Math.round(-11.46)); 8 System.out.println(); 9 System.out.println("小数点后第一位>5");10 System.out.println("正数:Math.round(11.68)=" + Math.round(11.68));11 System.out.println("负数:Math.round(-11.68)=" + Math.round(-11.68));
输出结果是:
小数点后第一位=5正数:Math.round(11.5)=12负数:Math.round(-11.5)=-11小数点后第一位<5正数:Math.round(11.46)=11负数:Math.round(-11.46)=-11小数点后第一位>5正数:Math.round(11.68)=12负数:Math.round(-11.68)=-12
正数和我们平时学的一样,负数在小数点后第一位为5时,直接舍去小数部分,大于5时减一,小于5时直接舍去小数部分。
Math.round()
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。