每隔三位就用“,”分隔 比如说 34585962 显示 为 34,585,962 谢谢

解决方案 »

  1.   

    var txt = "123456789.12 6123456789.12 56123456789.12";
    alert(txt.replace(/(\d)(?=(\d{3})+\b)/g, "$1,"));
      

  2.   


    function number(v) {
    /*
     * 如果是小数,想四舍五入就把下一句取消注释
     */
    //    v = (Math.round((v-0)*100))/100;
        v = (v == Math.floor(v)) ? v + ".00" : ((v*10 == Math.floor(v*10)) ? v + "0" : v);
        v = String(v);
        var ps = v.split('.'),
            whole = ps[0],
            sub = ps[1] ? ps[1] : '',
            r = /(\d+)(\d{3})/;
        /*
         * 格式化整数部分
         */
        while (r.test(whole)) {
            whole = whole.replace(r, '$1' + ',' + '$2');
        }
        /*
         * 格式化小数部分
        r=/(\d{3})(\d+)/;
        while(r.test(sub)){
         sub = sub.replace(r, '$1' + ',' + '$2');
        }
         */
        v = whole +'.'+ sub;
        
        
        if(v.charAt(0) == '-'){
            return '-' + v.substr(1);
        }
        return v;
    }
      

  3.   

    来个本办法~
    <script type="text/javascript">
    var str = '34585962';
    var arr = str.split('');
    var result = '';
    var counter = 0;
    for(var i = arr.length - 1; i >= 0; i --) {
    if (counter == 2) {
    counter = 0;
    result = ',' + arr[i] + result;
    }
    else {
    result = arr[i] + result;
    counter ++;
    }
    }
    alert(result);
    </script>
      

  4.   

    // 格式化数字,小数不格式化
    formatNumber : function() {
    var num = this.val();
    var intNum = null;// 整数部分
    var floatNum = null;// 小数部分
    if (!this.isNumeric()) {
    alert('不是数字!不能格式化!');
    return num;
    }
    var numb = Math.abs(num);
    var r = numb.toString().match(/^(\d*)\.(\d*)$/);
    if (r != null) {
    intNum = r[1];
    floatNum = r[2];
    } else {
    intNum = numb;
    }
    // 和number=number+"\,";等价:12345678910,
    intNum = intNum.toString().replace(/^(\d*)$/, "$1\,");
    var re = /(\d)(\d{3}\,)/; // 匹配 8910, 这种格式
    while (re.test(intNum)) {
    intNum = intNum.replace(re, "$1\,$2"); // 替换为12,345,678,910,
    }
    intNum = intNum.substring(0, intNum.length - 1); // 12,345,678,910完成 if (parseFloat(num) < 0) {
    intNum = '-' + intNum;
    }
    if (floatNum != null) {
    num = intNum + '.' + floatNum;
    } else {
    num = intNum;
    }
    return num;
    }