Java bigdecimal 保留小数
时间: 2024-08-12 07:10:25 浏览: 55
在Java中,`BigDecimal` 类用于进行精确的十进制算术运算,包括货币和金融计算,以及科学计算。如果你想要保留小数,`BigDecimal` 提供了 `setScale()` 方法来设置小数位数并进行四舍五入。
以下是一个例子:
```java
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
BigDecimal decimal = new BigDecimal("123.456789");
int scale = 2; // 保留两位小数
// 设置小数位数并四舍五入
BigDecimal roundedDecimal = decimal.setScale(scale, BigDecimal.ROUND_HALF_UP);
System.out.println(roundedDecimal); // 输出: 123.46 (这里使用了四舍五入规则)
}
}
```
在这个例子中,`setScale(2, BigDecimal.ROUND_HALF_UP)` 方法将数字保留到两位小数,并使用 `ROUND_HALF_UP`(默认)规则,如果第三位小数大于等于5,则向前进位,否则保持不变。
如果你想要了解其他舍入模式(比如 `ROUND_DOWN`、`ROUND_CEILING` 或 `ROUND_FLOOR`),你可以查阅 `BigDecimal` 类的相关文档。
阅读全文