每天一点点---返回参数数字的千分位分隔符字符串

167 阅读1分钟

1、题目描述

返回参数数字的千分位分隔符字符串。

输入:_comma(12300)
输出:'12,300'

2、从后向前,3的倍数加一个「,」,使用空数组

let isFushu = number < 0;
    if (isFushu) {
        number = number * -1;
    }
    let numList = number.toString().split('');
    let res = [];
    let count = 0;
    for(var i = numList.length-1;i>=0;i--) {
        count++;
        res.unshift(numList[i]);
        if (count % 3 === 0 && i != 0) {
            res.unshift(',')
        }
    }
    return (isFushu ? '-' : '') + res.join('');

3、从后向前取,3的倍数加一个「,」,使用空字符串

let isFushu = number < 0;
    if (isFushu) {
        number = number * -1;
    }
    let numStr = number.toString();
    let res = '';
    let count = 0;
    for(var i = numStr.length - 1;i>=0;i--) {
        count++;
        res = numStr.charAt(i) + res;
        if (count % 3 === 0 && i != 0) {
            res = ',' + res;
        }
    }
    return (isFushu ? '-' : '') + res;

4、每次取三位显示,一直取到小于3

let isFushu = number < 0;
    if (isFushu) {
        number = number * -1;
    }
    let numStr = number.toString();
    let res = '';
    while(numStr.length > 3) {
        res = ',' + numStr.slice(numStr.length - 3) + res;
        // res = ',' + numStr.slice(-3) + res;
        numStr = numStr.slice(0, numStr.length - 3);
    }
    return (isFushu ? '-' : '') + numStr + res;

5、使用toLocaleString()

return num.toLocaleString();

6、使用正则进行匹配