js中补零

这篇博客介绍了JavaScript中使用padStart和padEnd方法进行字符串补零操作,以及如何处理小数精度问题。通过示例展示了如何实现整数和小数的四舍五入,强调了toPrecision方法的四舍六入五成双特性,并提供了自定义四舍五入的解决方案。
摘要由CSDN通过智能技术生成

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

devwolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值