发布于 11 分钟前 约 2 分钟
我们知道float最大精度是7-8位有效数字,而double的最大精度是16-17位有效数字,那么大于16位的我们怎么来表示呢?这就需要用到BigDecimal,用来对超过16位有效位的数进行精确的运算。 BigDecimal经常在银行、账务系统进行使用。
class MathUtil{ public MathUtil() {} public static double round(double num, int scale) { return new BigDecimal(num).divide(new BigDecimal(1.0), scale, RoundingMode.HALF_UP).doubleValue(); } } public class BigDecTest { public static void main(String[] args) { System.out.println(MathUtil.round(19.67855, 2)); } }
运行结果:
本文由博客群发一文多发等运营工具平台 OpenWrite 发布
本作品系 原创 , 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议