下面是一个Java8中使用BigDecimal来计算百分比并保留两位小数的工具类:

import java.math.BigDecimal;
import java.math.RoundingMode;

public class PercentageUtils {

    public static BigDecimal calculatePercentage(BigDecimal number, BigDecimal total) {
        return number.divide(total, 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
    }

    public static BigDecimal calculateRemainingPercentage(BigDecimal number, BigDecimal total) {
        BigDecimal percentage = calculatePercentage(number, total);
        return BigDecimal.valueOf(100).subtract(percentage);
    }

    public static void main(String[] args) {
        BigDecimal number = BigDecimal.valueOf(75);
        BigDecimal total = BigDecimal.valueOf(200);

        BigDecimal percentage = calculatePercentage(number, total).setScale(2, RoundingMode.HALF_UP);
        System.out.println("Percentage: " + percentage);

        BigDecimal remainingPercentage = calculateRemainingPercentage(number, total).setScale(2, RoundingMode.HALF_UP);
        System.out.println("Remaining Percentage: " + remainingPercentage);
    }
}

在这个工具类中,我们定义了两个静态方法calculatePercentagecalculateRemainingPercentage来计算百分比和剩余百分比。这两个方法都接受两个BigDecimal类型的参数,一个是被除数,另一个是除数。我们使用BigDecimal的divide方法来计算百分比,然后使用multiply方法将结果乘以100来得到最终的百分比值。最后,我们使用setScale方法设置保留两位小数,并使用RoundingMode.HALF_UP来进行四舍五入。

main方法中,我们使用示例数据来测试这些方法,并打印结果。

Java8用BigDecimal求两个数的百分比保留两位小数并求出剩余的另一半差的百分比生成工具类

原文地址: https://www.cveoy.top/t/topic/i4QK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录