还可以在字符串后面加一个空字符串,如:var num=123var str=num+''感觉这种方式没有改变它的本质。你可以试一试。
代码作者:zhaoapk,非常棒的思路function formatNumber(a) {
a = a.toFixed(2).split('.')// 保留小数点两位并拆分
a[0] = a[0].split('').reverse().join('') // 翻转字符
.replace(/(\d{3})/g, '$1,') // 加逗号
.split('').reverse().join('') // 再反转
.replace(/^,/, '')// 去掉最前面的逗号
return a.join('.')
}
alert(formatNumber(123456.1))
q.toFixed(2)参考资料:
toFixed 方法
返回一个字符串,代表一个以定点表示法表示的数字。numObj.toFixed([fractionDigits])参数numObj必选项。一个 Number 对象。
fractionDigits可选项。
小数点后的数字位数。其值必须在 0 – 20 之间,包括 0 和 20。
说明toFixed 方法返回一个以定点表示法表示的数字的字符串形式。该字符串中小数点之前有一位有效数字,而且其后必须包含
fractionDigits 数字。如果没有 fractionDigits 参数,或者该参数为 undefined,toFixed 方法假定该值为0。