Javascript 四舍五入至最低35

Javascript 四舍五入至最低35,javascript,Javascript,我试图实现以下目标,将任何数字四舍五入到最低的35 例如: 5=0 34=0 90=70 105=105 110=105 我现在正在使用以下代码 $top = (event.pageY-50); $top = Math.floor(($top/35))*35; 然而,当它是153时,它应该四舍五入到140,然而它四舍五入到105 任何帮助都将不胜感激 function to35(x){return Math.floor(x/35)*35;}; [5,34,35,36,90,100,10

我试图实现以下目标,将任何数字四舍五入到最低的35

例如:

5=0

34=0

90=70

105=105

110=105

我现在正在使用以下代码

$top = (event.pageY-50);
    $top = Math.floor(($top/35))*35;
然而,当它是153时,它应该四舍五入到140,然而它四舍五入到105

任何帮助都将不胜感激

function to35(x){return Math.floor(x/35)*35;};
[5,34,35,36,90,100,105,110,153,160].map(to35);

/*
0,0,35,35,70,70,105,105,140,140
*/
我错过什么了吗?153的输入产生140的正确结果。

使用模

$top = (event.pageY-50);
alert( $top - ( $top % 35) ); 
检查此代码段

window.calculate=函数(){
$top=document.getElementById('num').value;
警报($top-($top%35));
}

该算法相当于

var $top = (event.pageY-50);
$top -=  $top%35;

当153作为一个值传递时,它将产生140$top=数学楼层($top/35))*35为我生成
140
Math.floor(153/35)*35==140
在我的浏览器中。Math.floor(153/35)*35在我的控制台中等于140。似乎
$top
不是
153
。我猜奉献者只是嫉妒他没有正确的答案!但这是一个很好的理由我没有投反对票。。有些人检查了所有的答案,然后做了。发布了一些代码的等效版本并不能回答为什么代码不起作用。@Robert因此,如果你有一辆车,并且一直撞在墙上,我会说:
试着在你撞到墙之前用刹车,而不是
,你可以用街道吗?非常感谢你的评论!通常的做法是使用
Math.floor
Math.ceil
Math.round
向下、向上或向上取整至最接近的整数。事实上,这是这些函数的唯一用途。我假设
num-num%1
(四舍五入为零)不太常见。现在,如果有人想将整数四舍五入到不同于
1
的倍数,使用数学函数仍然很常见。建议使用模运算符是一个很好的注释,但不能作为答案。这就像是建议使用不同品牌的汽车撞墙行驶。是的,你是,我在扣除50时的错误,我的原始代码和你的代码都是正确的。非常感谢。