bigdecimal保留2位小数,并且不进行四舍五入
时间: 2023-04-05 21:02:57 浏览: 176
可以使用setScale方法设置小数位数和舍入规则,例如:
BigDecimal bd = new BigDecimal("3.1415926");
bd = bd.setScale(2, BigDecimal.ROUND_DOWN);
System.out.println(bd); // 输出3.14
其中,setScale方法的第一个参数表示小数位数,第二个参数表示舍入规则,ROUND_DOWN表示向零方向舍入。
相关问题
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 bigDecimal = new BigDecimal("123.456789");
bigDecimal = bigDecimal.setScale(1, BigDecimal.ROUND_DOWN);
```
其中,setScale 的第一个参数指定要保留的小数位数,第二个参数指定舍入方式。ROUND_DOWN 表示直接舍去。在上述代码中,bigDecimal 的值将变为 123.4。
阅读全文