支付宝支付、微信支付价格精度格式转换

 

 

支付宝支付,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。

 /**
     * 此方法价格小数点小于两位会自动补全,多余两位会四舍五入保留两位小数点
     * @param price 价格
     * @return
     */
    public static String getAliPayPrice(Double price){
        DecimalFormat df = new DecimalFormat(".00");
        return df.format(price);
    }

 

 

微信支付 将元转换为分

/**
     * 元转换为分
     * @param currency 金额 
     */
    public static String changeY2F(String currency){
        int index = currency.indexOf(".");
        int length = currency.length();
        Long amLong = 0l;
        if(index == -1){
            amLong = Long.valueOf(currency+"00");
        }else if(length - index >= 3){
            amLong = Long.valueOf((currency.substring(0, index+3)).replace(".", ""));
        }else if(length - index == 2){
            amLong = Long.valueOf((currency.substring(0, index+2)).replace(".", "")+0);
        }else{
            amLong = Long.valueOf((currency.substring(0, index+1)).replace(".", "")+"00");
        }
        return amLong.toString();
    }

 

posted @ 2020-06-24 10:00  yvioo  阅读(986)  评论(0编辑  收藏  举报