0

我目前有这个将任何输入数字四舍五入到最接近模糊的整数值:

$(function(){
    $('#my_value').blur(function() {
    $(this).val(Math.ceil($(this).val()));
    });
});

问题是我需要它四舍五入到下一个最接近的 1/10,所以如果有人输入 1.23,它会四舍五入到 1.3。或者如果有人输入 3.78,它会四舍五入为 3.8。

此外,我希望它在 #my_value 字段中输入高于 9 的值时显示警报。

提前致谢。

4

2 回答 2

1

@LinusKleen 有你想要的:

var num = + $(this).val(); 
if (num > 9) {
  alert('message');
} else {
  $(this).val(Math.ceil(num * 10) / 10);
}
于 2013-05-27T08:34:50.300 回答
1

尝试这样的事情

function nearest(value, min, max, steps){
    var zerone = Math.round((value-min)*steps/(max-min))/steps; // bring to 0-1 range
    return zerone*(max-min) + min;
}


console.log(nearest(2.75, 0, 10, 10)); // 3
console.log(nearest(5.12, 5, 6, 10)); // 5.1
console.log(nearest(0.06, 0, 1, 10)); // 0.1


$('#my_value').blur(function() {

if($(this).val() >9 )
{
alert("message");

}
else
nearest($(this).val(),0,9,10);

});

或尝试以下

如果 val= 28.45 意味着

Math.round($(this).val()*10)/10  //returns 28.5
于 2013-05-27T08:38:12.580 回答