gpt4 book ai didi

optimization - 将 n 舍入为 m 的倍数的有效方法

转载 作者:行者123 更新时间:2023-12-04 03:14:17 27 4
gpt4 key购买 nike

这是我目前拥有的:

function getNearestMultipleOf(n, m) {
return Math.round(n/m) * m;
}
console.log(getNearestMultipleOf(37,18)); //36

一位 friend 告诉我 Math.round 很昂贵,更有效的方法是使用模数检查 n 是否必须向上或向下舍入,并使用 Math.ceilfloor

你会怎么做?

最佳答案

为什么不使用模块化运算符和简单的减法http://jsfiddle.net/LCDy6/1/

function getNearestMultipleOf(n, m) {
lessOne = n-(n%m);
moreOne = lessOne + m;
if((n-lessOne) < (moreOne - n))
return lessOne;
else
return moreOne;
}
alert(getNearestMultipleOf(38,3));

关于optimization - 将 n 舍入为 m 的倍数的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5230041/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com