BigDecimal 去小数点
时间: 2023-10-17 10:25:04 浏览: 161
如果您想要将一个 BigDecimal 对象去掉小数点,可以使用 BigDecimal 的 intValue() 或 longValue() 方法将其转换为整数或长整数。例如:
```
BigDecimal decimal = new BigDecimal("1234.5678");
int intValue = decimal.intValue(); // intValue = 1234
long longValue = decimal.longValue(); // longValue = 1234
```
请注意,这样做会截断小数部分,如果您需要对小数部分进行四舍五入或者其他操作,请使用 BigDecimal 的 round()、setScale() 等方法。
相关问题
BigDecimal去除小数点后的零
您可以使用 BigDecimal 的 stripTrailingZeros 方法来去除小数点后的零。这个方法会返回一个新的 BigDecimal 对象,它表示与原对象相等的数值,但是没有尾部的零。
下面是一个示例代码:
```java
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
BigDecimal number = new BigDecimal("10.200");
BigDecimal strippedNumber = number.stripTrailingZeros();
System.out.println("原始数值: " + number);
System.out.println("去除尾部零后的数值: " + strippedNumber);
}
}
```
输出结果将是:
```
原始数值: 10.200
去除尾部零后的数值: 10.2
```
注意,stripTrailingZeros 方法不会改变原始 BigDecimal 对象的值,而是返回一个新的对象。所以在使用时,您需要将返回的新对象赋值给一个变量。
BigDecimal 控制小数点精度到具体几位
可以使用 BigDecimal 的 setScale 方法来控制小数点精度。该方法接受两个参数,第一个参数指定要保留的小数位数,第二个参数指定舍入模式。例如,要将一个 BigDecimal 对象保留两位小数,可以使用以下代码:
```
BigDecimal num = new BigDecimal("3.1415926");
BigDecimal result = num.setScale(2, RoundingMode.DOWN);
System.out.println(result);
```
输出结果为:
```
3.14
```
在上面的代码中,setScale 方法的第一个参数是 2,表示要保留两位小数。第二个参数 RoundingMode.DOWN 表示使用向零舍入模式。如果不指定第二个参数,默认使用 RoundingMode.HALF_UP 模式进行四舍五入。
阅读全文