javascript :数字格式化输出

<script type="text/javascript">
var format = function (number, form) {
    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
</script>

posted @ 2009-01-15 15:11  竹君子  阅读(291)  评论(0编辑  收藏  举报