java Math.round()用法

您所在的位置:网站首页 zfy是什么意思 java Math.round()用法

java Math.round()用法

2023-08-15 08:17| 来源: 网络整理| 查看: 265

MathUtil - 四舍五入

由于Java的float和double数值,在进行计算时,无法保证数据的精度,四舍五入的需要就迫切需要。 当然,用long再除以100也不错,但比较麻烦。 或采用BigDecimal也将会是一个比较好的选择,但其不可变的特性又使得计算中长生大量的垃圾对象。如果程序中需要进行计算,有想保持精度,那就使用一个四舍五入来处理吧。

 

这是一个个人编写的用于数值计算后四舍五入的小程序。

 

public class MathUtil { public static int devide(int x, int y) { float f = x; return Math.round(f / y); } public static long devide(long x, long y) { double d = x; return Math.round(d / y); } public static float round(float f, int bit) { float p = (float)pow(bit); return (Math.round(f * p) / p); } public static double round(double d, int bit) { double p = pow(bit); return (Math.round(d * p) / p); } private static long pow(int bit) { return Math.round(Math.pow(10.0D, bit)); } }

public class MathTest {        public static void main(String[] args) {            System.out.println("小数点后第一位=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();               System.out.println("小数点后第一位5");            System.out.println("正数:Math.round(11.68)=" + Math.round(11.68));            System.out.println("负数:Math.round(-11.68)=" + Math.round(-11.68));        }    }   运行结果: 1、小数点后第一位=5 2、正数:Math.round(11.5)=12 3、负数:Math.round(-11.5)=-11 4、 5、小数点后第一位5 10、正数:Math.round(11.68)=12 11、负数:Math.round(-11.68)=-12 根据上面例子的运行结果,我们还可以按照如下方式总结,或许更加容易记忆: 1、参数的小数点后第一位5,运算结果为参数整数部分绝对值+1,符号(即正负)不变。 3、参数的小数点后第一位=5,正数运算结果为整数部分+1,负数运算结果为整数部分。

 

终结:大于五全部加,等于五正数加,小于五全不加。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3