在 javascript 中,找到最接近给定数字的下一个偶数 100(“偶数 100”= 200、400 等)的最简单方法是什么。例如:1723 应该返回 1800,1402 应该返回 1600,21 应该返回 200,17659 应该返回 17800 等等。我有以下内容可以找到给定_num 旁边最接近的 100,但不是偶数 100
(parseInt(((given_num + 99)/100 )) * 100 )
我可以想到一种方法来获取不带零的数字并检查它是否为奇数/偶数以找出下一个偶数(如果它是奇数)。但更好奇的是看看是否有一些简单/优雅的方法。
最佳答案
基于 bmb's comment ,听起来您想要的粒度是 200,而不是 100。如果是这样:
除以 200,四舍五入,乘以 200:
var tests = [
{value: 1723, expect: 1800},
{value: 1402, expect: 1600},
{value: 21, expect: 200},
{value: 17659, expect: 17800}
];
tests.forEach(test);
function test(entry) {
var result = Math.ceil(entry.value / 200) * 200;
console.log({
value: entry.value,
expect: entry.expect,
result: result
});
}
如果您真的想四舍五入到“下一个 100”,那么如果 1402 的结果是 1600,则 1723 的结果必须是 1900,您可以通过除以 100、向上舍入、乘以 100 来完成, 加上 100(或者除以 100,四舍五入,加 1,再乘以 100,是一回事):
var tests = [
{value: 1723, expect: 1800},
{value: 1402, expect: 1600},
{value: 21, expect: 200},
{value: 17659, expect: 17800}
];
tests.forEach(test);
function test(entry) {
var result = Math.ceil(entry.value / 100) * 100 + 100;
console.log({
value: entry.value,
expect: entry.expect,
result: result
});
}
关于javascript - 找到最近的下一个偶数 100,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39925970/