BigDecimal 类是 Java 中用于精确计算的一个类。它可以处理大数运算和浮点数运算,保证精度和准确性,避免了浮点数运算中常见的舍入误差。

BigDecimal 类提供了各种加减乘除运算方法,包括 add()、subtract()、multiply() 和 divide() 等。这些方法都是精确计算的,不会产生舍入误差。

此外,BigDecimal 类还可以设置精度和舍入模式。精度用于指定小数点后的位数,舍入模式用于指定舍入的方式,如 ROUND_UP 表示向上舍入,ROUND_DOWN 表示向下舍入等。

以下是一个使用 BigDecimal 类进行精确计算的示例:

import java.math.BigDecimal;

public class BigDecimalExample {
    public static void main(String[] args) {
        BigDecimal num1 = new BigDecimal('10.5');
        BigDecimal num2 = new BigDecimal('3');

        BigDecimal result = num1.add(num2); // 加法
        System.out.println('加法结果:' + result);

        result = num1.subtract(num2); // 减法
        System.out.println('减法结果:' + result);

        result = num1.multiply(num2); // 乘法
        System.out.println('乘法结果:' + result);

        result = num1.divide(num2, 2, BigDecimal.ROUND_HALF_UP); // 除法,精度为2位,四舍五入
        System.out.println('除法结果:' + result);
    }
}

输出结果为:

加法结果:13.5
减法结果:7.5
乘法结果:31.5
除法结果:3.50

通过使用 BigDecimal 类,可以确保计算结果的精度和准确性,避免了浮点数运算中的舍入误差。

Java BigDecimal 精确计算指南:避免浮点数误差

原文地址: https://www.cveoy.top/t/topic/qhvf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录