bigdecimal能保留0位小数吗
时间: 2024-01-05 21:03:16 浏览: 66
可以使用BigDecimal的setScale方法来设置小数位数。如果要保留0位小数,可以将setScale的参数设置为0。下面是一个示例代码:
```
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
BigDecimal number = new BigDecimal("10.12345");
BigDecimal roundedNumber = number.setScale(0, BigDecimal.ROUND_HALF_UP);
System.out.println(roundedNumber); // 输出 10
}
}
```
在上面的示例中,给定的BigDecimal值为10.12345,然后使用setScale(0, BigDecimal.ROUND_HALF_UP)将小数位数设置为0,并使用四舍五入来获得最接近的整数值。最后输出的结果为10,保留了0位小数。
相关问题
bigdecimal乘法保留2位小数
使用BigDecimal进行乘法并保留2位小数的示例代码如下:
```java
import java.math.BigDecimal;
public class BigDecimalExample {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("10.5");
BigDecimal num2 = new BigDecimal("3.2");
BigDecimal result = num1.multiply(num2).setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(result); // 输出结果为 33.60
}
}
```
在上面的代码中,我们首先创建了两个BigDecimal类型的数值num1和num2,然后使用multiply()方法对它们进行乘法运算,最后使用setScale()方法保留2位小数并进行四舍五入。最终结果存储在result变量中,并输出到控制台。
bigdecimal divide保留4位小数
您可以使用`BigDecimal`的`divide`方法,并且使用`setScale`方法来设置保留的小数位数为4。以下是一个示例代码:
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main {
public static void main(String[] args) {
BigDecimal dividend = new BigDecimal("10");
BigDecimal divisor = new BigDecimal("3");
BigDecimal result = dividend.divide(divisor, 4, RoundingMode.HALF_UP);
System.out.println(result);
}
}
```
在上面的代码中,我们将被除数设置为10,除数设置为3。使用`divide`方法进行除法运算,并将保留小数位数设置为4,使用`RoundingMode.HALF_UP`来进行四舍五入。最后结果将打印出来。
这样,您就可以使用`BigDecimal`的`divide`方法来实现保留4位小数的除法运算。
阅读全文