js怎么向上取整保留两位

发布于 2022-09-12 22:09:26 字数 42 浏览 10 评论 0

Math.ceil(6.008) => 6 怎么取整为 6.01

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

找个人就嫁了吧 2022-09-19 22:09:26
function ceil(num, byte){
    let n = Math.pow(10, byte)
    return Math.ceil(num * n) / n
}

ceil(6.008, 2) //6.01
装纯掩盖桑 2022-09-19 22:09:26

没太明白你这个“向上取整”是指“进一法”?因为你给这个例子用“四舍六入五看双”或“四舍五入”也是成立的。

就先根据字面意思理解当作是“进一法”吧:

Number.prototype.toCeil = function (num = 0) {
    if (!(num >= 0 && num <= 100)) {
        throw new RangeError('toCeil() digits argument must be between 0 and 100.');
    }

    let val = Math.ceil(this * Math.pow(10, num)) / Math.pow(10, num) + '';
    if (num > 0) {
        const intp = val.split('.')[0],
            decp = val.split('.')[1] || '';
        if (decp.length < num) {
            val = intp + '.' + decp.padEnd(num, '0');
        }
    }

    return val;
}


let num1 = 6.008;
let str2 = num.toCeil(2);
console.log(str1); //6.01

let num1 = 6.001;
let str2 = num.toCeil(2);
console.log(str2); //6.01
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文