2014-05-09 43 views
0

我已將此代碼用於數字加法。唯一的問題是它不計算像(10 + 1.5 = 11)這樣的表達式。爲什麼這個代碼不總是計算0.5的值?使用javascript添加計算器

 <script> 
     function calculate() { 
     var myBox1 = document.getElementById('ORD_PRICE_1').value;  
     var myBox2 = document.getElementById('ORD_PRICE_2').value; 
    var myBox3 = document.getElementById('ORD_PRICE_3').value; 
     var result = document.getElementById('TOTAL');  
    var myResult = parseInt(myBox1) + parseInt(myBox2) + parseInt(myBox3); 
    result.value = myResult; 


     } 
    </script> 

回答

5

,因爲你正在使用parseInt()它轉換成整數,而是試圖parseFloat

var myResult = parseFloat(myBox1) + parseFloat(myBox2) + parseFloat(myBox3); 

Here is demo

+0

謝謝Zaheer .... – user3503395

1

parseInt()四捨五入十進制值,因此不計算在內。如果你想考慮十進制計算,那麼你必須使用parseFloat()

它應該是這樣的。

<script> 
     function calculate() { 
     var myBox1 = document.getElementById('ORD_PRICE_1').value;  
     var myBox2 = document.getElementById('ORD_PRICE_2').value; 
    var myBox3 = document.getElementById('ORD_PRICE_3').value; 
     var result = document.getElementById('TOTAL');  
    var myResult = parseFloat(myBox1) + parseFloat(myBox2) + parseFloat(myBox3); 
    result.value = myResult; 


     } 
    </script>