chen.lin
1 天以前 b003a49794f49a329e2702918ecfc8d14b371d0d
rsf-server/src/main/java/com/vincent/rsf/server/common/utils/QuantityUtils.java
@@ -66,7 +66,25 @@
    }
    /**
     * 统一舍入到 6 位小数后转 Double(用于存库/展示,避免浮点尾差)
     * 乘法:a * b,结果保留 6 位小数转 Double
     */
    public static Double multiply(Double a, Double b) {
        return toBigDecimal(a).multiply(toBigDecimal(b)).setScale(SCALE, ROUNDING).doubleValue();
    }
    /**
     * 除法:a / b,结果保留 6 位小数转 Double(b=0 时返回 0)
     */
    public static Double divide(Double a, Double b) {
        if (b == null || toBigDecimal(b).compareTo(BigDecimal.ZERO) == 0) {
            return 0.0;
        }
        return toBigDecimal(a).divide(toBigDecimal(b), SCALE, ROUNDING).doubleValue();
    }
    /**
     * 统一舍入到 6 位小数后转 Double(用于存库/展示、入参校验,避免浮点尾差)。
     * 所有 Double 写入实体或参与比较前建议经此方法或 add/subtract 做精度控制。
     */
    public static Double roundToScale(Double v) {
        if (v == null) {