package cn.com.qmth.examcloud.tool.utils;

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

public class MathUtils {

    /**
     * 计算百分比 (默认保留2位小数，超出位数则截断不四舍五入)
     */
    public static double percentage(double value1, double value2) {
        if (value2 == 0d) {
            return 0d;
        }
        double x = value1 * 100d / value2;
        BigDecimal _value = new BigDecimal(Double.toString(x));
        BigDecimal one = new BigDecimal("1");
        return _value.divide(one, 2, RoundingMode.DOWN).doubleValue();
    }

    /**
     * 数值保留n位小数（默认四舍五入）
     *
     * @param value 数值
     * @param n     小数点后保留几位
     * @return
     */
    public static double round(double value, int n) {
        if (n < 0) n = 0;
        BigDecimal _value = new BigDecimal(Double.toString(value));
        BigDecimal one = new BigDecimal("1");
        return _value.divide(one, n, RoundingMode.HALF_UP).doubleValue();
    }

}
