Javascript中是否有用于格式化数字和字符串的函数?
我正在寻找一种用于字符串或数字的千位分隔符的方法…(如C#中的String.Format)
以下原始答案中引用的参考文献有误。这里是一个内置的功能,这一点,而这正是德皇以下建议:toLocaleString
toLocaleString
因此,您可以执行以下操作:
(1234567.89).toLocaleString('en') // for numeric input parseFloat("1234567.89").toLocaleString('en') // for string input
下面实现的功能也可以使用,但是根本没有必要。
原始答案
根据此参考资料,没有内置函数可将逗号添加到数字中。但是该页面包含了一个如何自己编写代码的示例:
function addCommas(nStr) { nStr += ''; var x = nStr.split('.'); var x1 = x[0]; var x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } return x1 + x2; }
编辑: 以另一种方式(将带逗号的字符串转换为数字),您可以执行以下操作:
parseFloat("1,234,567.89".replace(/,/g,''))