JavaScript 数字转换字符串

来源:互联网 发布:板材套料软件 编辑:程序博客网 时间:2024/06/05 18:29

声明:这段代码是在论坛上看到的,非本人所写。编者为:muxrwc.

<script type="text/javascript">var format = function (number, form) {//大概就先这样,代码先不浓缩了。。:D    var forms = form.split('.'), number = '' + number, numbers = number.split('.')        , leftnumber = numbers[0].split('')        , exec = function (lastMatch) {            if (lastMatch == '0' || lastMatch == '#') {                if (leftnumber.length) {                    return leftnumber.pop();                } else if (lastMatch == '0') {                    return lastMatch;                } else {                    return '';                }            } else {                return lastMatch;            }    }, string        string = forms[0].split('').reverse().join('').replace(/./g, exec).split('').reverse().join('');    string = leftnumber.join('') + string;        if (forms[1] && forms[1].length) {        leftnumber = (numbers[1] && numbers[1].length) ? numbers[1].split('').reverse() : [];        string += '.' + forms[1].replace(/./g, exec);    }return string.replace(/\.$/, '');};alert(format(123, '#.00'))                         //输出   123.00 alert(format(123, '0.##'))                         //输出   123 alert(format(123, '0000.00 '))                     //输出   0123.00 alert(format(123456, '###,###.00'))                //输出   123,456.00 alert(format(07552482630, '(####)########'))       //输出   (0755)2482630 </script>