小编Gas*_*par的帖子

使用2个小数位数舍入Bigdecimal值

我想要一个函数来转换Bigdecimal 10.12 for 10.1234510.13 for 10.12556.但是没有功能同时满足两种转换.请帮助实现这一目标.

以下是我的尝试.
值10.12345:

BigDecimal a = new BigDecimal("10.12345");

a.setScale(2, BigDecimal.ROUND_UP)
a.setScale(2, BigDecimal.ROUND_CEILING)
a.setScale(2, BigDecimal.ROUND_DOWN)
a.setScale(2, BigDecimal.ROUND_FLOOR)
a.setScale(2, BigDecimal.ROUND_HALF_DOWN)
a.setScale(2, BigDecimal.ROUND_HALF_EVEN)
a.setScale(2, BigDecimal.ROUND_HALF_UP)
Run Code Online (Sandbox Code Playgroud)

输出:

10.12345::10.13
10.12345::10.13
10.12345::10.12
10.12345::10.12
10.12345::10.12
10.12345::10.12
10.12345::10.12
Run Code Online (Sandbox Code Playgroud)

值10.12556:

BigDecimal b = new BigDecimal("10.12556");

b.setScale(2, BigDecimal.ROUND_UP)
b.setScale(2, BigDecimal.ROUND_CEILING)
b.setScale(2, BigDecimal.ROUND_DOWN)
b.setScale(2, BigDecimal.ROUND_FLOOR)
b.setScale(2, BigDecimal.ROUND_HALF_DOWN)
b.setScale(2, BigDecimal.ROUND_HALF_EVEN)
b.setScale(2, BigDecimal.ROUND_HALF_UP)
Run Code Online (Sandbox Code Playgroud)

输出:

10.12556::10.13
10.12556::10.13
10.12556::10.12
10.12556::10.12
10.12556::10.12
10.12556::10.12
10.12556::10.12
Run Code Online (Sandbox Code Playgroud)

java bigdecimal

33
推荐指数
2
解决办法
9万
查看次数

标签 统计

bigdecimal ×1

java ×1