import java.math.BigDecimal;
public class BigDecimalExample {
public static void main(String[] args) {
// 创建两个BigDecimal对象
BigDecimal num1 = new BigDecimal("123.45");
BigDecimal num2 = new BigDecimal("67.89");
// 加法
BigDecimal sum = num1.add(num2);
System.out.println("加法: " + num1 + " + " + num2 + " = " + sum);
// 减法
BigDecimal difference = num1.subtract(num2);
System.out.println("减法: " + num1 + " - " + num2 + " = " + difference);
// 乘法
BigDecimal product = num1.multiply(num2);
System.out.println("乘法: " + num1 + " * " + num2 + " = " + product);
// 除法
// 注意:除法需要指定精度和舍入模式,以避免无限小数问题
BigDecimal quotient = num1.divide(num2, 4, BigDecimal.ROUND_HALF_UP);
System.out.println("除法: " + num1 + " / " + num2 + " = " + quotient);
}
}
add 方法进行两个 BigDecimal 对象的加法运算。subtract 方法进行两个 BigDecimal 对象的减法运算。multiply 方法进行两个 BigDecimal 对象的乘法运算。divide 方法进行两个 BigDecimal 对象的除法运算。需要注意的是,除法可能会产生无限小数,因此需要指定精度(如 4)和舍入模式(如 BigDecimal.ROUND_HALF_UP),以避免异常。通过这些方法,可以精确地处理高精度的数值运算,避免浮点数运算中的精度丢失问题。
上一篇:java map转实体类
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站