2014-10-27 34 views
1

我做了一個腳本來總結2個文本字段值並自動獲取其他文本框結果中的值,問題是沒有使用小數進行求和。如何使用jquery對小數點進行求和?

我想將每個文本框四捨五入爲2位小數,如果它有更多自動轉換爲2位小數,並得到2位小數的結果。

這裏是demo

<script type="text/javascript"> 
    jQuery("#ige").live("change", function(){ 
    ige_value = parseInt(jQuery(this).val()); 
    sba_value = parseInt(jQuery("#sba").val());   
    total = ige_value + sba_value 
jQuery("#result").val(total.toFixed(2)); 
}); 
</script> 

FIRST VALUE<input id="ige" name="ige" type="text" > <br/> 
SECOND VALUE <input id="sba" name="sba" type="text" ><br/> 
RESULT: <input id="result" name="result" type="text" > 

enter image description here

普萊斯有人可以幫助我?

回答

2

的問題是,你正在使用parseInt函數:

ige_value = parseInt(jQuery(this).val()); 

整型數據沒有十進制值嘗試替換它

ige_value = parseFloat(jQuery(this).val()); 

您可以使用.toFixed(2)總是顯示結果的2位小數。

+0

謝謝,但是我會自動格式化爲2位小數,無論我輸入的是什麼 – 2014-10-27 04:47:16

+0

感謝您的幫助,並感謝爲我工作的例子。 – 2014-10-27 04:52:22

+0

你知道怎麼做在任何輸入改變的情況下進行計算嗎?因爲如果我有20次輸入,我需要同樣做20次,你能幫助我還是獲得信息? – 2014-10-27 14:56:33

3

嘗試使用parseFloat。這裏使用的是不支持小數的整數。

使用toFixed(2);的格式

這裏更多:Format number to always show 2 decimal places

+0

謝謝,但如何對自動格式2位小數不管我類型? – 2014-10-27 04:48:16

+0

看看這個答案http://stackoverflow.com/questions/6134039/format-number-to-always-show-2-decimal-places – TGH 2014-10-27 04:49:08

+0

感謝您的信息,我錯過了一些概念,但感謝您的幫助。 – 2014-10-27 04:52:00

1

下面是另一個答案,它似乎也修復了選擇正在改變的「ige」值的一些可能的邏輯錯誤。首先,這裏是代碼,然後隨之而來的一個新的jsfiddle:

的HTML

FIRST VALUE 
<input id="ige" name="ige" type="text"> 
<br/>SECOND VALUE 
<input id="sba" name="sba" type="text"> 
<br/>RESULT: 
<input id="result" name="result" type="text"> 

現在的JavaScript

jQuery("#ige, #sba").live("change", function() { 
    var ige_value = Math.round(parseFloat(jQuery("#ige").val()) * 100.0)/100.0; 
    jQuery("#ige").val(ige_value); 
    var sba_value = Math.round(parseFloat(jQuery("#sba").val()) * 100.0)/100.0; 
    jQuery("#sba").val(sba_value); 
    var total = ige_value + sba_value; 
    jQuery("#result").val(total.toFixed(2)); 
}); 

什麼JavaScript併爲尋找在改變或者「#ige」或「#sba」並進行適當的計算。這兩個輸入文本字段的值也根據您的規則進行更改。

下面是測試新的jsfiddle:

jsFiddle

+0

感謝您的其他方式做到這一點。 +1 – 2014-10-27 14:17:35

相關問題