相关疑难解决方法(0)

将一个小数加倍到2位小数

如果值为200.3456,则应格式化为200.34.如果是200,那应该是200.00.

java double rounding

447
推荐指数
11
解决办法
113万
查看次数

BigDecimal setScale和round

这两个电话有什么区别?(有没有?)

// 1.
new BigDecimal("3.53456").round(new MathContext(4, RoundingMode.HALF_UP));
// 2.
new BigDecimal("3.53456").setScale(4, RoundingMode.HALF_UP);
Run Code Online (Sandbox Code Playgroud)

java bigdecimal

132
推荐指数
2
解决办法
18万
查看次数

将BigDecimal向上舍入为整数值

我有一个BigDecimal,其值为450.90,我想要向上舍入到下一个空洞整数值,然后打印没有任何小数点的整数值,就像这样;

Val:450.90 - > Rounded:451.00 - >输出:451

Val:100.00001 - > Rounded:101.00000产量:101

检查了一些解决方案,但我没有得到预期的结果,继承我的代码;

BigDecimal value = new BigDecimal(450.90);
value.setScale(0, RoundingMode.HALF_UP); //Also tried with RoundingMode.UP
return value.intValue();
Run Code Online (Sandbox Code Playgroud)

谢谢!

java math rounding bigdecimal

17
推荐指数
2
解决办法
3万
查看次数

BigDecimal 至少有两位小数

我有BigDecimal值,我希望它们至少有两个十进制数字,但我不想修剪其余部分。

所以3应该导致3.00,但3.001应该留下3.001

我知道我可以通过简单地添加来做到这一点0.00

new BigDecimal("3").add(new BigDecimal("0.00")) //=> 3.00
new BigDecimal("3.001").add(new BigDecimal("0.00")) //=> 3.001
Run Code Online (Sandbox Code Playgroud)

是否有内置方法或更优雅的方法来做到这一点?

我不能使用setScale,因为我想在它们存在时保留额外的小数。

java bigdecimal

5
推荐指数
1
解决办法
1063
查看次数

标签 统计

java ×4

bigdecimal ×3

rounding ×2

double ×1

math ×1