gpt4 book ai didi

javascript - 如何在 Javascript 中始终向下舍入到最接近的 X 倍数?

转载 作者:行者123 更新时间:2023-11-30 07:16:22 28 4
gpt4 key购买 nike

我在 Canvas 上绘制了一个网格,当用户点击网格时,我正在绘制一个矩形。我想始终在用户单击的网格单元格顶部绘制矩形。所以我需要向下舍入到最接近的 X,在我的例子中,是 40 的倍数。

一些例子......

121 => 120
125 => 120
139 => 120
159 => 120
160 => 160

到目前为止,我使用以下方法进行舍入工作......

x = Math.round(x / constants.MAP_CELL_SIZE) * constants.MAP_CELL_SIZE;

几乎 处理四舍五入,我唯一缺少的是四舍五入到最接近的 40 的倍数,它保存在 constants.MAP_CELL_SIZE 中。 .

希望这是有道理的,有人可以伸出援手......非常感谢!


更新

就像从 Math.round 切换一样简单至 Math.floor .

最佳答案

要向下舍入,请使用 Math.floor() 而不是 Math.round()。你可以像这样使用它:

var customFloor = function(value, roundTo) {
return Math.floor(value / roundTo) * roundTo;
}

customFloor(121, constants.MAP_CELL_SIZE); // => 120
customFloor(159, constants.MAP_CELL_SIZE); // => 120
customFloor(160, constants.MAP_CELL_SIZE); // => 160

参见 Math.floor() 的文档在 MDN 上。

关于javascript - 如何在 Javascript 中始终向下舍入到最接近的 X 倍数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15728893/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com