使用下面给出的函数可实现千分符支持正负数:
function comma(num) {var source = String(num).split(".")//按小数点分成2部分
source[0] = source[0].replace(new RegExp('(\\d)(?=(\\d{3})+$)','ig'),"$1,")//只将整数部分进行都好分割
return source.join(".")//再将小数部分合并进来
}
comma(-123456.789)//-123,456.789
思路:添加千位分隔符是从后到前,每3位添加逗号,所以这里输入数据转换成字符串后,利用slice方法的输入负数参数从后取的特点,从后取三位数字保存在数组中,并把取剩后的数据递归重复取值,直到数据不足3位,把剩下一起存入数组中