2015-01-08 25 views
-5

我需要允許浮點值並將大於0.5的任何浮點值轉換爲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")沒有給我所期望的。

+1

你是什麼意思的「沒有用」和「不給予預期的結果」? 'Math.ceil'和'parseFloat'都是* I *預期的。 – vaultah

+0

只有當x> 5時,使它爲1.它可以是0.7,0.8或1.8。 – Slimshadddyyy

+0

所以如果'1.8'預期的結果是'1'或'2'?你爲什麼不問一個明確的問題? –

回答

1

看這個fiddle

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

輸入一些大於20.5的數字,如20.51,然後在輸入外點擊以看到四捨五入爲21

希望它有幫助。

2

你的意思是?

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

如果是的intValue大於0.5,那麼是的intValue 1

+0

如何在中使用它? – Slimshadddyyy

-1

按照@Koen Hoeijmakers答案,你可以嘗試用:

var input = 10.5; 

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

我如何使用這個值當用戶輸入 Slimshadddyyy

+0

我想你的意思是'輸入%1> 0.5'這是我怎麼理解這個如此不清楚的問題 –

+0

@Slimshadddyyy好吧,所以你想要的任何值> 0.5,輸入作爲整數輸入,不接受浮點數,是嗎? –