将浮点值大于0.5转换为1

时间:2015-01-08 11:39:44

标签: 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 = parseFloat("10.5")没有给出我的预期。

3 个答案:

答案 0 :(得分:2)

你是说这个?

if(intvalue > 0.5){
    intvalue = 1;
}

如果intvalue大于0.5,则intvalue为1.

答案 1 :(得分:1)

看这个fiddle

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

输入一些大于20.5的数字,例如20.51,然后在输入外部点击,将其四舍五入为21

希望它有所帮助。

答案 2 :(得分:-1)

根据@Koen Hoeijmakers答案,您可以尝试:

var input = 10.5;

if ( input % 1 != 0.5 ) {
  input = Math.round(input);
}