js千分位

本文介绍了一个JavaScript函数,用于将数字字符串格式化为带有千位分隔符的形式,并且能够正确处理小数点。该函数首先检查字符串是否包含小数点,然后分别处理整数和小数部分,确保每三位数字后插入一个逗号,同时避免在开头或结尾添加不必要的分隔符。

需求:把一个字符串分小数点前后两部分,每隔三位插入一个‘,’将其分开。

注意:本题需要考虑(1)是否存在小数点,(2)前后临界处不加‘,’。

let str = '123456.78920';
function fn(str){
    let arr = str.split('.');
    let left = '';
    let right = '';
    for(let i = arr[0].length-1; i >= 0; i--){
        left = arr[0][i] + left;   //注意是前插 而不是left += arr[0][i];
        if((arr[0].length-i)%3 === 0 && i > 0){
            left = ',' + left;
        }
    }
    if(arr.length === 2){
        for(let j = 0; j < arr[1].length; j++){
            right += arr[1][j];
            if(j % 3 === 2 && j !== 0 && j < arr[1].length-1){
                right += ','
            }
        }
        right = '.' + right;
    }
    let res = '$' + left + right;
    console.log(res);
    return res;
}
fn(str);复制代码


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值