bigdecimal保留一位小数,并且不会四舍五入
时间: 2023-06-30 17:24:39 浏览: 147
要保留 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的setScale方法来设置保留小数位数并舍弃多余位数,代码示例如下:
BigDecimal decimal = new BigDecimal("3.14159");
decimal = decimal.setScale(2, BigDecimal.ROUND_DOWN);
System.out.println(decimal);
这段代码会将3.14159保留两位小数并直接舍去多余位数,输出结果为3.14。注意在设置小数位数时,第一个参数表示要保留的位数,第二个参数表示舍入模式,ROUND_DOWN表示直接舍弃。
阅读全文