我在画布上绘制了一个网格,当用户单击网格时,我正在绘制一个矩形。我想始终在用户单击的网格单元顶部绘制矩形。所以我需要四舍五入到最接近的 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
。