Math.ceil(6.008) => 6 怎么取整为 6.01
function ceil(num, byte){ let n = Math.pow(10, byte) return Math.ceil(num * n) / n } ceil(6.008, 2) //6.01
没太明白你这个“向上取整”是指“进一法”?因为你给这个例子用“四舍六入五看双”或“四舍五入”也是成立的。
就先根据字面意思理解当作是“进一法”吧:
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
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(2)
没太明白你这个“向上取整”是指“进一法”?因为你给这个例子用“四舍六入五看双”或“四舍五入”也是成立的。
就先根据字面意思理解当作是“进一法”吧: