`

Jquery处理数字:千位符、保留小数位数

    博客分类:
  • js
 
阅读更多

/**
 * 处理数字:千位符、保留小数位数 
 * @param num 值
 * @param del 小数位
 * @param o o为true返回值为正数,否则为负数
 * @returns {String}
 */
function RetainedDecimalPlaces (num, del, o) {
    try {
        num += "";
        num = parseFloat(num).toFixed(del); //保留小数并四舍五入
        var str = "";
        if (!o) {
            if (num.substring(0, 1) == "-") str = "-";
        }
        //清除字符串中的非数字 非.字符
        num = num.replace(/[^0-9|\.]/g, "");
        //清除字符串开头的0
        if (/^0+/) num = num.replace(/^0+/, "");
        //为整数字符串在末尾添加.0000
        if (!/\./.test(num)) num += ".0000";
        //字符以.开头时,在开头添加0
        if (/^\./.test(num)) num = "0" + num; num += "0000"; //在字符串末尾补零
        if (del == 2) num = num.match(/\d+\.\d{2}/)[0];
        if (del == 4) num = num.match(/\d+\.\d{4}/)[0];
        //千位符
        while (/\d{4}(\.|,)/.test(num)) //符合条件则进行替换
            num = num.replace(/(\d)(\d{3}(\.|,))/, "$1,$2"); //每隔3位添加一个
        return str + num;
    } catch (e) {
        alert(e);
    }
};


jsp页面标签<fmt:formatNumber> 使用
    <fmt:formatNumber value="12" type="currency" pattern="$.00"/> -- $12.00  
    <br/>  
    <fmt:formatNumber value="12" type="currency" pattern="$.0#"/> -- $12.0  
    <br/>  
    <fmt:formatNumber value="1234567890" type="currency"/> -- $1,234,567,890.00(那个货币的符号和当前web服务器的 local 设定有关)  
    <br/>  
    <fmt:formatNumber value="123456.7891" pattern="#,##0.0#"/> -- 123,456.79  
    <br/>  
    <fmt:formatNumber value="123456.7" pattern="#,##0.0#"/> -- 123,456.7  
    <br/>  
    <fmt:formatNumber value="123456.7" pattern="#,##0.00#"/> -- 123,456.70  
    <br/>  
    <fmt:formatNumber value="12" type="percent" /> -- 1,200%type 可以是currency、 number、 和percent  
    <br/>  
    <fmt:formatNumber value="12.345" pattern="#.##" />  -- 12.34   
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics