decimal相乘保留精度
时间: 2023-08-06 10:06:05 浏览: 60
sql server中的decimal或者numeric的精度问题
在进行 decimal 相乘时,我们可以使用 Decimal 类的 multiply() 方法来进行计算。同时,我们可以使用 setScale() 方法设置保留的小数位数,以保证计算结果的精度。
具体实现如下:
```java
import java.math.BigDecimal;
public class DecimalMultiplication {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("1.234");
BigDecimal num2 = new BigDecimal("2.345");
// 相乘并保留3位小数
BigDecimal result = num1.multiply(num2).setScale(3, BigDecimal.ROUND_HALF_UP);
System.out.println("结果为:" + result);
}
}
```
在上面的代码中,我们首先定义了两个 Decimal 类型的变量 num1 和 num2,并将它们分别初始化为 1.234 和 2.345。然后,我们使用 multiply() 方法进行相乘,并使用 setScale() 方法设置保留的小数位数为 3,同时使用 ROUND_HALF_UP 模式进行四舍五入。最后,我们将结果打印出来。
输出结果为:
```
结果为:2.888
```
这里的结果保留了 3 位小数,符合我们的要求。
阅读全文