jialh
16 小时以前 d0b19298e28a9b8b50c778704b77160f17e73950
java110-utils/src/main/java/com/java110/utils/util/MoneyUtil.java
@@ -23,7 +23,14 @@
     */
    public static double computePriceScale(double price,String scale,int decimalPlace){
        BigDecimal feeTotalPrice = new BigDecimal(price);
        //todo 解决 群里反馈 进度丢失问题
        //todo 发现了个BUG
        // MoneyUtil.computePriceScale
        // 计算金额四舍五入时,精度丢失问题,
        // new BigDecimal(String )
        // 就OK了,  double  会出问题。
        // 例如444.195   四舍五入变成了 44.19
        BigDecimal feeTotalPrice = new BigDecimal(price+"");
        if(DOWN.equals(scale)) {
            feeTotalPrice = feeTotalPrice.setScale(decimalPlace, BigDecimal.ROUND_DOWN);
@@ -35,4 +42,15 @@
        return feeTotalPrice.doubleValue();
    }
    /**
     * 四舍五入
     * @param price
     * @return
     */
    public static double computePriceScale(double price){
        return computePriceScale(price,HALF_UP,2);
    }
}