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

Convert float value greater than 0.5 to 1

我需要允许浮点值并将任何大于 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 = parseFloat("10.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);
}

看这个fiddle

$("input.number").blur(function() {
    if( this.value % 1 > 0.5 ) {
        this.value = Math.round(this.value);
    }
});

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

希望对您有所帮助。