javascript - 如何四舍五入到下一个最大的数字?

标签 javascript math

我希望我的数字总是像这样四舍五入到最接近的数字:

1.2 => 2

1.4 => 2

2.5 => 3

2.9 => 3

我如何使用 JavaScript 执行此操作?

最佳答案

您可以使用 Math.<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil" rel="noreferrer noopener nofollow">ceil()</a>功能。

Math.ceil(1.1) // returns 2

相反,如果您想向下舍入,您可以使用Math.<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor" rel="noreferrer noopener nofollow">floor()</a>

Math.floor(1.8) // returns 1

这是一个演示:

const input = [1, 0.5, 0.49, 0, -0.5, -0.51,  -1];
const ops = ["floor", "ceil", "round"];
const output = input.map(n =>
  ops.reduce((record, op) => {
    record[`Math.${op}(n)`] = Math[op](n);
    return record;
  }, {n}));
console.table(output);
<script src="https://gh-canon.github.io/stack-snippet-console/console.min.js"></script><script>console.config({maximize:true,timeStamps:false})</script><style>.as-console-wrapper{display:block;}</style>

注意:floor 和 ceiling 函数并不是 javascript 独有的。看这个wikipedia entry了解更多信息。

关于javascript - 如何四舍五入到下一个最大的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11194831/

相关文章:

javascript - 制作动态大小的盒子

javascript - 如何在javascript代码中使用笛卡尔坐标计算多边形面积?

c - 使用 scanf() 读取的符号作为 C 运算符

c# - 获得围绕给定值的随机偏差

math - 故意散列冲突

Javascript - 克隆、附加和包装

javascript - AWS s3重定向到另一个s3存储桶

javascript - NodeJs 找不到模块。路径和名称正确

javascript - Firefox 中的 CSS3 淡入效果?

c# - 将 360° 映射到 -1 到 1 之间的值