javascript - 我怎样才能在javascript中四舍五入到一个数字的倍数?

标签 javascript jquery

虽然我了解 JavaScript 中的 Math.round/ceil/floor 函数,但我一直无法想出解决此问题的有效函数。

我想要做的是将任何整数四舍五入为 3 的倍数,或者实际上是我选择的任何倍数。

给定“3”的倍数时返回数字的要求如下:

0 returns 0
6 returns 6
7 returns 6
8 returns 9
22 returns 21
23 returns 24

等等...等等...所以基本上,返回的值将始终是给定参数的倍数,在本例中为“3”。

谢谢大家。

最佳答案

您可以使用像这样的简单函数:

function roundMultiple3(num) {
  return(Math.round(num / 3) * 3);
}

除以 3,四舍五入到最接近的整数,然后再次乘以 3 以恢复完整值。

或者允许您指定多个的通用版本:

function roundMultiple(num, multiple) {
  return(Math.round(num / multiple) * multiple);
}

关于javascript - 我怎样才能在javascript中四舍五入到一个数字的倍数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10728934/

相关文章:

javascript - 移除父元素

javascript - AngularJS - 使用命名空间解析 JSON feed

javascript - 如何计算印度脚本泰卢固语字符

javascript - JQuery - 第二次删除不起作用

javascript - 动态删除表格行时自动递增输入框id

javascript - GLTF加载对象拖拽使用三个js

javascript - 如何根据key上的过滤器获取json路径?

javascript - 浏览器 : Prevent POST data resubmit on refresh using only JavaScript

javascript - 使用 npm start 启动服务器时出错

javascript - 如何清除 jQuery 中的文本区域值?