在Java中,使用BigDecimal
类可以进行精确的数字计算,包括加法、减法、乘法和除法
import java.math.BigDecimal;
public class BigDecimalCalculation {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("10.5");
BigDecimal num2 = new BigDecimal("5.2");
// 加法
BigDecimal sum = num1.add(num2);
System.out.println("Sum: " + sum);
// 减法
BigDecimal difference = num1.subtract(num2);
System.out.println("Difference: " + difference);
// 乘法
BigDecimal product = num1.multiply(num2);
System.out.println("Product: " + product);
// 除法
BigDecimal quotient = num1.divide(num2);
System.out.println("Quotient: " + quotient);
}
}
请注意,除法操作可能会引发
ArithmeticException
异常,如果除数为零或者无限循环小数,则会抛出此异常。因此,建议使用带有指定精度和舍入模式的divide
方法:
// 除法,保留两位小数,采用四舍五入的舍入模式
BigDecimal quotient = num1.divide(num2, 2, BigDecimal.ROUND_HALF_UP);
System.out.println("Quotient: " + quotient);
这样可以避免除以零或者无限循环小数的情况,并且可以控制结果的精度和舍入方式。