BigDecimal乘法四舍五入保留1位小数
时间: 2024-10-09 22:11:32 浏览: 62
在Java中,如果你需要对BigDecimal类型的数值进行乘法运算并精确地保留一位小数,可以先做乘法运算,然后使用`setScale()`方法设置小数点后的位数,并指定四舍五入规则。这里是一个简单的例子:
```java
import java.math.BigDecimal;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("123.456");
BigDecimal num2 = new BigDecimal("789.012");
BigDecimal result = num1.multiply(num2);
result = result.setScale(1, BigDecimal.ROUND_HALF_UP); // 四舍五入保留1位
DecimalFormat df = new DecimalFormat("#.##");
String formattedResult = df.format(result.doubleValue()); // 转换为字符串显示
System.out.println("结果:" + formattedResult);
}
}
```
在这个示例中,`setScale(1, BigDecimal.ROUND_HALF_UP)`表示将结果保留1位小数,并且当多余的小数部分为0.5时向上方进位(四舍五入)。最后,我们通过DecimalFormat格式化结果以便于查看。
阅读全文