我遇到了此问题。它使用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