BigDecimal的加减乘除和保留精度操作
BigDecimal是Java中的一个类,用于处理精确的十进制计算问题。它提供了加法、减法、乘法和除法等操作,并且可以设置保留的精度。
下面是BigDecimal的加法、减法、乘法和除法操作的示例代码:
import java.math.BigDecimal;
public class BigDecimalExample {
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);
// 减法操作
BigDecimal diff = num1.subtract(num2);
System.out.println("减法结果:" + diff);
// 乘法操作
BigDecimal product = num1.multiply(num2);
System.out.println("乘法结果:" + product);
// 除法操作
BigDecimal quotient = num1.divide(num2);
System.out.println("除法结果:" + quotient);
}
}
上述代码中创建了两个BigDecimal对象num1和num2,分别表示被加数和加数。然后使用add()方法进行加法操作,subtract()方法进行减法操作,multiply()方法进行乘法操作,divide()方法进行除法操作。最后,将结果打印输出。
在使用BigDecimal进行除法操作时,需要注意除不尽的情况。如果除法结果是无限循环小数,可以使用divide()方法的重载版本,设置保留的精度和舍入模式。例如:
BigDecimal quotient = num1.divide(num2, 2, BigDecimal.ROUND_HALF_UP);
上述代码中,将保留两位小数,并采用四舍五入的舍入模式。
除了使用四舍五入的舍入模式,还可以使用其他舍入模式,如ROUND_UP(向上舍入)、ROUND_DOWN(向下舍入)、ROUND_CEILING(向正无穷舍入)、ROUND_FLOOR(向负无穷舍入)等。根据具体需求选择适合的舍入模式
原文地址: https://www.cveoy.top/t/topic/igJC 著作权归作者所有。请勿转载和采集!