javascript - 找到最近的下一个偶数 100

标签 javascript numbers zero

在 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/

相关文章:

list - 在已经有数字的位置插入一个数字,创建一个List

list - 将零添加到列表中

Java 两个 float 相除得到 0

javascript - 是否可以使用 Parsley.js 指定特定的日期范围进行验证

javascript - Canvas 与 img - 性能

java - 如何验证在编辑文本中输入的数字? - 安卓

r - 为什么R将大数视为偶数

c++ - 你什么时候在 C++ 中使用 ZeroMemory 结构?

javascript - 无法让 javascript/jquery 多次正确对元素进行排序

javascript - prompt() 函数在 UIWebView IOS 模拟器中返回 undefined