System.out.println(Math.floor(24.335*100)/100); //直接截取 24.33
System.out.println((int)Math.floor(23.45)); //截取整数 23
System.out.println((int)Math.ceil(23.2)); //凑整 24
System.out.println((int)Math.rint(23.567)); //四舍五入取整 24
System.out.println(new DecimalFormat("0").format(25.5)); //四舍五入取整 26
ROUND_HALF_UP: 遇到.5的情况时往上近似,例: 1.5 ->;2
ROUND_HALF_DOWN : 遇到.5的情况时往下近似,例: 1.5 ->;1
BigDecimal a = new BigDecimal(1.5);
a.setScale(0,BigDecimal.ROUND_HALF_DOWN)
a.setScale(0,BigDecimal.ROUND_HALF_UP)
结果:down=1 up=2
关于BigDecimal的截断:
BigDecimal aa = new BigDecimal(99.999);
aa=aa.setScale(2,BigDecimal.ROUND_DOWN);
结果:aa=99.99,即在小数点后两位处截断。
java四舍五入与截取
最新推荐文章于 2022-07-31 11:09:42 发布