BIgDecimal保留两位小数 java实现
时间: 2023-10-23 09:16:27 浏览: 79
在Java中,可以使用BigDecimal类来进行高精度的浮点数计算,并且可以通过设置精度保留指定小数位数。以下是一段代码示例:
```java
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("123.456789");
BigDecimal num2 = num1.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(num2);
}
}
```
在上面的示例中,首先创建了一个BigDecimal对象 `num1` 表示需要保留两位小数的浮点数。然后使用 `setScale` 方法设置精度为2,并且使用 `ROUND_HALF_UP` 模式进行四舍五入。最后输出保留两位小数的结果。
输出结果为:`123.46`。
相关问题
java实现BIgDecimal保留两位小数
可以使用BigDecimal的setScale方法来实现保留两位小数。
例如,将一个double类型的变量d保留两位小数:
```java
double d = 3.1415926;
BigDecimal bd = new BigDecimal(d);
BigDecimal result = bd.setScale(2, RoundingMode.HALF_UP);
System.out.println(result);
```
输出结果为:3.14
其中,setScale方法接收两个参数,第一个参数为保留小数位数,第二个参数为舍入模式,常用的有四种:
- RoundingMode.UP:向远离零的方向舍入
- RoundingMode.DOWN:向靠近零的方向舍入
- RoundingMode.CEILING:向正无穷大的方向舍入(即大于或等于给定数字的最小整数)
- RoundingMode.FLOOR:向负无穷大的方向舍入(即小于或等于给定数字的最大整数)
在上面的例子中,我们使用了RoundingMode.HALF_UP,它表示四舍五入。如果想要保留更多或更少的小数位数,只需要修改第一个参数即可。
BIgDecimal 保留两位小数 的java代码
你可以使用 `setScale()` 方法来设置 `BigDecimal` 对象的小数位数,并使用 `ROUND_HALF_UP` 舍入模式来保留两位小数。下面是一个示例代码:
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main {
public static void main(String[] args) {
BigDecimal number = new BigDecimal("12.3456789");
BigDecimal result = number.setScale(2, RoundingMode.HALF_UP);
System.out.println(result); // 输出 12.35
}
}
```
在上面的代码中,我们使用 `setScale(2, RoundingMode.HALF_UP)` 将 `BigDecimal` 对象 `number` 设置为保留两位小数并使用四舍五入的舍入模式。然后,我们将结果存储在 `result` 变量中,并输出它。
阅读全文