整数补零(或补别的字符)

String.prototype.padStart() - JavaScript | MDN

可以通过padStart和padEnd实现左/右开始填充指定字符达到指定长度。

const str1 = '8';
console.log(str1.padStart(9, '0')); // "000000008"

const fullNumber = '123456789';
const maskedNumber = fullNumber.slice(-3).padStart(fullNumber.length, '*');
console.log(maskedNumber);// ******789
const maskedNumber2 = fullNumber.slice(0,3).padEnd(fullNumber.length, '*');
console.log(maskedNumber2);// 123******

小数补零

参考我之前的一篇博客

JS中的Math.trunc()以及浅谈js计算失精常用函数_devwolf的博客-CSDN博客_js trunc


console.log((5).toPrecision(4));  // "5.000",如果仅提供证整数,则该整数需要加括号

需要特别注意的是,toPrecision()是四舍六入五成双,如果对精度有定制要求,可以尝试如下修改

//toPrecision是四舍六入五成双
console.log(5.555.toPrecision(3)); // "5.55"

//要想四舍五入得手动改造
const demo = (data) =>{
    let _data = Number(data);
    if(isNaN(_data)){
        return false;
    }
    let intLength = Math.trunc(_data).toString().length;
    let fullLength = intLength + 2;//小数点保留2位,算出总位数
    let newData = Math.round(_data * 100) / 100;
    return Number(newData).toPrecision(fullLength)
}

console.log(demo(5.555));//  5.56
console.log(demo(5.5));//   5.50

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐