我遇到了此問題。它使用parseFloat或parseInt添加數字。 IF TextBox1的值是4,TextBox2中值是2,那麼我得到輸出(見腳本)如果不在JavaScript中使用parseFloat,則無法正確添加兩個數字
我的疑問是,爲什麼在此外單獨
parseFloat($('#txt1').val()) + parseFloat($('#txt2').val())
給出正確的值,但
parseFloat($('#txt1').val() + $('#txt2').val())
不給正確的值,而
parseFloat($('#txt1').val() - $('#txt2').val())
,parseFloat($('#txt1').val()/$('#txt2').val())
,parseFloat($('#txt1').val() * $('#txt2').val())
是給正確的值。 它很簡單,但我找不到解決方案。
===== jQuery的
function Calculate() { //--> Output
$('#lbl1').html(parseFloat($('#txt1').val() + $('#txt2').val())); //--> 42
$('#lbl2').html(parseFloat($('#txt1').val()) + parseFloat($('#txt2').val())); //--> 6
$('#lbl3').html(parseFloat(4 + 2)); //--> 6
$('#lbl4').html(parseFloat($('#txt1').val() - $('#txt2').val())); //--> 2
$('#lbl5').html(parseFloat($('#txt1').val() * $('#txt2').val())); //--> 8
$('#lbl6').html(parseFloat($('#txt1').val()/$('#txt2').val())); //--> 2
}
===== HTML
<table>
<tr>
<td>
<input type="text" id="txt1" />
</td>
<td>
<input type="text" id="txt2" />
</td>
</tr>
<tr>
<td>
<input type="button" value="Calculate" onclick="Calculate()" />
</td>
<td>
<label id="lbl1">
</label>
|
<label id="lbl2">
</label>
|
<label id="lbl3">
</label>
|
<label id="lbl4">
</label>
|
<label id="lbl5">
</label>
|
<label id="lbl6">
</label>
</td>
</tr>
</table>
這是因爲+運算符也用於字符串,而 - 和*運算符則不用。用這種寬鬆的語言,你會得到這種行爲。 – Kaiwa 2013-04-20 07:46:42
我很驚訝沒有人建議優秀的jQuery算術插件。 – 2015-06-21 08:49:51