JS和JAVA將數字格式化爲金額形式(例:1234567 ==》1,234,567.00)

總是需要用到金額的格式化的運算,在此計算以便後期使用:

 

前端格式化:

/*
    *  格式化數字千分位並保留小數後N位,並四捨五入
    * 參數說明:
    * n:保留幾位小數
    * */
    function formatMoney(s, n) {
        n = n > 0 && n <= 20 ? n : 2;
        s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
        var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
        var t = "";
        for (var i = 0; i < l.length; i++) {
            t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
        }
        return t.split("").reverse().join("") + "." + r;
    }

/**
     * 去除千分位
     */
    function commafyback(num){
       var x = num.split(',');
       return parseFloat(x.join(""));
    }

 

JAVA後臺格式化:

fmtMicrometer("123456",NumberUtil.RETAIN_TWO_DIGITS)

/**
     * 保留小數點後2位
     */
    public static final String RETAIN_TWO_DIGITS = "#,###.00"; 
    /**
     * 保留小數點後5位
     */
    public static final String RETAIN_FIVE_DIGITS = "#,###.00000";    
    /**
     * 根據參數格式化數字
     * @param text
     * @return
     */
    public static String fmtMicrometer(String text , String fmt) {
        DecimalFormat df = new DecimalFormat(fmt);
        double number = 0.0;
        try {
            number = Double.parseDouble(text);
        } catch (Exception e) {
            number = 0.0;
        }
        return df.format(number);
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章