javascript中比較數字大小


做項目,遇到一個讓人非常糾結的問題,就是獲取的兩個值比較,卻出現了一位數比二位數大的情況。
剛開始還以為哪里寫錯了,檢查了幾遍,用ie調了下,意識到是應該是用錯了比較方法了。才想起以前也碰到過這種情況的,究其原因,就是js默認比較字符串,先比較兩個的第一個字符,相同再比較第二個,以此類推。
所以,對於數字的比較,首先要轉換為數字,再進行比較,就不會出錯了。
js中數值比較,如下所示:

var id=document.pageaction.pageNow.value;-->4
var count=document.pageaction.count.value;-->30 
alert(id>count);//結果是true

alert結果為true,因為js默認比較字符串,先比較兩個的第一個字符,相同再比較第二個,以此類推

解決方式:
使用parseInt(id)進行整型轉換:

alert(parseInt(id)>parseInt(count));//結果是false
alert(eval_r(id)>eval_r(count));
//eval()函數用於在不引用任何特定對象的情況下計算代碼字符串。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM