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>