2014-10-12 80 views
-1

所以我一直認爲我做錯了。但jQuery可以讀取小數?我的第一個文本框必須將輸入乘以.10,第二個是.05。但我只得到1作爲最終結果。我該如何解決它?雙波浪號(~~)運算符刪除數字的小數部分

<!DOCTYPE html> 
<head> 
     <title>Test</title> 
     <script src="../js/jquery-1.11.1.min.js"></script> 
<head> 

<body> 

     <input id="first" type="text" /> 
<script> 
     $('#first').on('change', function() { 
       $(this).val($(this).val() * .10); 
     compute(); 
     }); 
</script> 

     <input id="second" type="text" /> 
<script> 
     $('#second').on('change', function() { 
       $(this).val($(this).val() * .05); 
     compute(); 
     }); 
</script> 

<script> 
function compute() { 
    var first = ~~$('#first').val(); 
    var second = ~~$('#second').val(); 
    var result = $('#result'); 
    var grade = first + second; 
    result.val(grade); 
} 
</script> 

     <input id="result" type="text" readonly /> 
</body> 

</html> 
+1

顯示的代碼,否則你會被嚴重downvoted。 – 2014-10-12 06:28:29

+1

'〜'運算符只能用於整數。如果你給它一個分數,它會忽略分數。如果你想保留分數,你爲什麼要用'~~'? – Barmar 2014-10-12 06:36:05

+0

對不起,但我對JS沒有深入的瞭解。我應該用什麼來保持小數? – 2014-10-12 06:38:39

回答

0

我相信你想改變計算()這樣的:

function compute() { 
    var first = parseFloat($('#first').val()); 
    var second = parseFloat($('#second').val()); 
    var result = $('#result'); 
    var grade = first + second; 
    result.val(grade); 
} 
+0

謝謝你。這工作得很好。感謝大家誰招待我的問題。祝你今天愉快! – 2014-10-12 06:44:56