bigdecimal保留一位小数,并且不会四舍五入
时间: 2023-06-30 14:24:39 浏览: 57
要保留 BigDecimal 的一位小数,并且不四舍五入,可以使用 setScale 方法。具体实现如下:
```
BigDecimal bigDecimal = new BigDecimal("123.456789");
bigDecimal = bigDecimal.setScale(1, BigDecimal.ROUND_DOWN);
```
其中,setScale 的第一个参数指定要保留的小数位数,第二个参数指定舍入方式。ROUND_DOWN 表示直接舍去。在上述代码中,bigDecimal 的值将变为 123.4。
相关问题
bigdecimal保留6位小数并且不四舍五入
可以使用BigDecimal类的setScale方法来设置小数位数,并使用RoundingMode.DOWN参数来指定截断而非四舍五入。示例代码如下:
```
BigDecimal number = new BigDecimal("3.14159265358979323846");
BigDecimal result = number.setScale(6, RoundingMode.DOWN);
System.out.println(result); // 输出:3.141592
```
在上述代码中,我们将一个double类型的数值转换为BigDecimal,并使用setScale方法设置小数位数为6,并使用RoundingMode.DOWN参数指定截断。最终输出结果为3.141592,保留了6位小数并且没有进行四舍五入。
BigDecimal保留两位小数 四舍五入怎么写
要使用BigDecimal保留两位小数并进行四舍五入,你可以按照以下步骤进行操作:
1. 首先,导入java.math.BigDecimal类:
```java
import java.math.BigDecimal;
```
2. 创建一个BigDecimal对象,并传入需要保留两位小数的数值:
```java
BigDecimal number = new BigDecimal("10.12345");
```
3. 使用setScale()方法设置保留小数位数为2,并指定RoundingMode为HALF_UP,表示四舍五入:
```java
BigDecimal roundedNumber = number.setScale(2, BigDecimal.ROUND_HALF_UP);
```
在此例中,roundedNumber将被设置为10.12。
请注意,setScale()方法返回一个新的BigDecimal对象,原始的BigDecimal对象不会被修改。如果你想直接修改原始对象,可以使用setScale()方法的重载版本:
```java
number = number.setScale(2, BigDecimal.ROUND_HALF_UP);
```
这样,number将被修改为10.12。
以上是使用BigDecimal进行保留两位小数并进行四舍五入的方法。