数字转化成三位一个逗号,大额钱数的写法

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        function cutNum(num) {
            let str = num.toString(), // 定义一个字符串,将传进来的数字转化为字符串
                ind = str.length % 3, // 字符串的长度除以3的余数在ind位置把字符串分为两部分
                strFront = str.slice(0, ind), // 这里是前半部分,长度为1或者2,长度也可能为0(strFront = '')
                strBehind = str.slice(ind); // 这里是后半部分,长度正好是3的倍数
            const arr = []; //定义一个空数组,用来盛放截取的字符串
            // 循环strBehind的长度,i梯度为3,来截取字符串
            for (let i = 0; i < strBehind.length; i += 3) {
                // 把截取的字符串push进arr中
                arr.push(strBehind.slice(i, i + 3))
            }
            // 判断ind是不是为0,为0则为假,不是0则为真
            if (ind) {
                //ind不为0,说明strFront不是空字符串,需要把它放在数组最前面
                arr.unshift(strFront)
            }
            // ind为0的话,说明正好 字符串的长度是3的倍数,strFront为空字符串''
            return arr.join(',') //直接通过arr.join()把数组转化为以逗号分隔的字符串
        }
        console.log(cutNum(1552));
    </script>
</body>

</html>
function f1(num) {
    let flag = '';
    if (num < 0) {
        flag = '-'
    }
    let str = Math.abs(num).toString();
    let n1 = str.length % 3,
        str1 = str.substr(0, n1),
        str2 = str.substr(n1),
        arr = [];

    for (let i = 0; i < str2.length; i += 3) {
        arr.push(str2.substr(i, 3))
    }
    if (str1) {
        arr.unshift(str1);
    }
    return flag + arr.join(',')

}

console.log(f1(-12345678910), '---');

//加上了负数判断

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值