小数点后两位的除法不起作用
Division with two decimal places not working
我正在尝试除以 193251715/659669075 并得到 29.30% 的结果(所以要将它四舍五入到最接近的带有两位小数的值)
这是我所做的:
new BigDecimal(193251715).divide(new BigDecimal(659669075) , 2, RoundingMode.HALF_UP).multiply(new BigDecimal(100))
但我已经 29 岁了。
我做错了什么?
那是因为您乘以 100 以显示百分比。你应该用 4 的比例除以而不是 2,然后将比例设置为 2:
new BigDecimal(193251715).divide(new BigDecimal(659669075), 4, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100))
.setScale(2)
设置 scale of 4
,以包含更多小数位。
最后将比例设置为 2,使其成为 29.30 而不是 29.30000。
public static void main(String[] args) throws ParseException {
BigDecimal bg = new BigDecimal(193251715)
.divide(new BigDecimal(659669075), 4, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100)).setScale(2);
System.out.println(bg);
}
我正在尝试除以 193251715/659669075 并得到 29.30% 的结果(所以要将它四舍五入到最接近的带有两位小数的值)
这是我所做的:
new BigDecimal(193251715).divide(new BigDecimal(659669075) , 2, RoundingMode.HALF_UP).multiply(new BigDecimal(100))
但我已经 29 岁了。
我做错了什么?
那是因为您乘以 100 以显示百分比。你应该用 4 的比例除以而不是 2,然后将比例设置为 2:
new BigDecimal(193251715).divide(new BigDecimal(659669075), 4, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100))
.setScale(2)
设置 scale of 4
,以包含更多小数位。
最后将比例设置为 2,使其成为 29.30 而不是 29.30000。
public static void main(String[] args) throws ParseException {
BigDecimal bg = new BigDecimal(193251715)
.divide(new BigDecimal(659669075), 4, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100)).setScale(2);
System.out.println(bg);
}