在jQuery / Javascript中通过sum Floatnumber输出错误的输出

时间:2014-12-12 03:50:18

标签: javascript jquery html output

我有问题。我试图用jQuery对两个浮点值求和。

<tr id='idList'>
    <td class="price" value="2,50">Testsum</td>
    <td class="price" value="13,50">Testsum</td>
    <td> <input type="text" id="total_price" readonly></td>   
</tr>

我的JavaScript:

var sum = 0;

$('.price').each(function(){
    sum = $(this).attr('value') + sum;
});

alert(sum);
$('#total_price').val(sum);

我在文本字段中输入了此输出:2,5013,50。为什么?我不明白,为什么它不能将两个值相加如下:2,50 + 13,50 = 16,00?

2 个答案:

答案 0 :(得分:2)

尝试使用parseInt()功能

var sum = 0;

$('.price').each(function(){

    sum = parseInt($(this).attr('value')) + sum;

});

alert(sum);
$('#total_price').val(sum);

检查 Manual

答案 1 :(得分:0)

您正在使用字符串连接

&#13;
&#13;
var sum = 0;
$('.price').each(function() {
  sum += (+$(this).attr('value').replace(',', '.') || 0);
});
$('#total_price').val(sum);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
  <tr id='idList'>
    <td class="price" value="2,50">Testsum</td>
    <td class="price" value="13,50">Testsum</td>
    <td>
      <input type="text" id="total_price" readonly>
    </td>
  </tr>
</table>
&#13;
&#13;
&#13;