Javascript 将大于0.5的浮点值转换为1

Javascript 将大于0.5的浮点值转换为1,javascript,jquery,math,Javascript,Jquery,Math,我需要允许浮点值,并将任何大于0.5的浮点值转换为1。例如: 0.4 = 0.4 0.5 = 0.5 0.6 = 1 我试过使用下面这样的数学参考资料,但不符合我的要求 var intvalue = Math.floor( floatvalue ); var intvalue = Math.ceil( floatvalue ); var intvalue = Math.round( floatvalue ); 另外,var a=parseFloat10.5没有给出我所期望的结果。你是说这个

我需要允许浮点值,并将任何大于0.5的浮点值转换为1。例如:

0.4 = 0.4
0.5 = 0.5
0.6 = 1
我试过使用下面这样的数学参考资料,但不符合我的要求

var intvalue = Math.floor( floatvalue );
var intvalue = Math.ceil( floatvalue ); 
var intvalue = Math.round( floatvalue );
另外,var a=parseFloat10.5没有给出我所期望的结果。

你是说这个

if(intvalue > 0.5){
    intvalue = 1;
}
如果intvalue大于0.5,则intvalue为1。

根据@Koen Hoeijmakers的回答,您可以尝试使用:

var input = 10.5;

if ( input % 1 != 0.5 ) {
  input = Math.round(input);
}
看看这个:

输入一些大于20.5的数字,如20.51,然后在输入外部单击,看到它四舍五入到21


希望能有所帮助。

你所说的没有用,没有达到预期效果是什么意思?Math.ceil和parseFloat都按照我的预期工作。只有当x>5时,才将其设为1。它可能是0.7、0.8或1.8。那么,如果1.8的预期结果是1或2???你为什么不问一个清楚的问题???我如何在中使用它?当用户输入时我如何使用这个值?我猜你的意思是输入%1>0.5这就是我如何理解它的原因,现在还不清楚question@Slimshadddyyy好的,所以你想要任何大于0.5的值,输入作为整数输入,而不是更多接受浮点数,是吗???
$("input.number").blur(function() {
    if( this.value % 1 > 0.5 ) {
        this.value = Math.round(this.value);
    }
});