舍入数最低为35

时间:2014-10-29 22:02:11

标签: 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?

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:3)

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的正确结果。

答案 1 :(得分:0)

使用模数

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

检查此代码段



window.calculate = function (){
    $top = document.getElementById('num').value;
    alert( $top - ( $top % 35) ); 
}

<input type="number" id='num' value="153" />
<input type="button" id='sub' value="calc" onClick='calculate()' />
&#13;
&#13;
&#13;

说明:

你有例如153,如果你拿这个模块35你得到13休息,只需从你的基数减去这个你得到你想要的东西:)

153 % 35 = 13
153 - 13 = 140

140/35 = 4

和最后的底部到153

答案 2 :(得分:0)

该算法相当于

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

当将153作为值

传递时,它将产生140