//重复数 int repeat = 3; //总数 int sumType = 12;
BigDecimal average = new BigDecimal( (float) repeat / sumType * 100).setScale(2, BigDecimal.ROUND_HALF_UP); if (average.compareTo(new BigDecimal(repeatPercentage))>0)
总不进if 再一看。repeat 和sumType 都是整数,整数小除大,都为0 所以转成float 问题解决 记录一下
本文探讨了在Java中使用BigDecimal进行精确的百分比计算,避免了整数除法导致的结果为0的问题。通过将整数值转换为浮点数,并使用BigDecimal的setScale方法设置保留位数,确保了计算结果的准确性。
987

被折叠的 条评论
为什么被折叠?



