在数学中,如何获得可被16整除的最接近数字?
例如,我得到随机数100,我想将该数字(使用数学函数)转换为最接近100的可被16整除的数字(在本例中为96)
我正在尝试用JavaScript做这个,但如果我知道它的数学公式,我会很容易用任何语言来做.
谢谢,问候
function GetRandomNumberBetween(lo, hi) {
return Math.floor(lo + Math.random() * (hi - lo));
}
Number.prototype.FindClosestNumberThatIsDivisibleBy = function(n) {
return Math.round(this / n) * n; //simplify as per Guffa
/* originally:
var c = Math.ceil(n);
var f = Math.floor(n);
var m = num % n;
var r = f * n;
if (m > (n / 2))
r = c * n;
return r;
*/
};
var r = GetRandomNumberBetween(10, 100);
var c = r.FindClosestNumberThatIsDivisibleBy(16);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2304 次 |
| 最近记录: |