在Java中,我有一个 Number 对象,可以有十进制数字。
例如,它可能类似于: 123.456789
123 是我的数字的整数部分, 456789 是小数部分。
确定。如何在不考虑连续小数位的权重的情况下,只获得前2位小数的相同数字。
例如,如果我想要的数字只有前2个小数位,我想获得 123.45 而不是 123.46 (近似,因为下面的小数位是> 5)
我还需要,如果我的整数是 3 我希望用它的2个小数位数来获得它,即 3.00
我该怎么办?
答案 0 :(得分:2)
尝试下面的setScale方法
BigDecimal value = new BigDecimal("123.456789");
BigDecimal bg2 = value.setScale(2, RoundingMode.DOWN);
System.out.println(bg2);
Output:
123.45
For input as 3, output is 3.00
答案 1 :(得分:0)
DecimalFormat decimalFormat = new DecimalFormat("#.##");
decimalFormat.setRoundingMode(RoundingMode.DOWN);
decimalFormat.format(123.456789);
输出:123.45
输入为3时,输出为3