我有一个java bigdecimal表达式,如下所示:
(totalPrep.divide(totalCase, 2, BigDecimal.ROUND_HALF_UP)).multiply(new BigDecimal(100))
哪里
bigdecimal totalcase=bigdecimal.zero;bigdecimal totalprep=bigdecimal.zero;
我必须将totalprep除以totalcase,然后将结果乘以100,得到以%表示的结果值。66.6666666666666666666666666666666666667
假设总备考数为2,总考数为3,那么数学成绩为66.66666666667。我想把这个压缩到小数点后两位66.67%
有什么建议吗?
1条答案
按热度按时间u1ehiz5o1#
如果你愿意的话
2 / 3
导致66.67
,您需要先乘法,然后除法并四舍五入到小数点后2位:那就算了
2 * 100 = 200
,那么200 / 3 = 66.67
(四舍五入)当你先除的时候,你计算
2 / 3 = 0.67
(四舍五入),然后0.67 * 100 = 67.00
,这显然不是你想要的。