gpt4 book ai didi

javascript - 为什么总和返回错误值

转载 作者:行者123 更新时间:2023-12-03 11:57:05 24 4
gpt4 key购买 nike

我在表单中有一些输入值,如下所示:

<tr>
<td>
<input type="text" disabled class="qty" value="1" name="quantity">
</td>
<td>
<span class="euro">€</span><input type="text" disabled class="price" value="0,60">
</td>
</tr>
<tr>
<td>
<input type="text" disabled class="qty" value="1" name="quantity">
</td>
<td>
<span class="euro">€</span><input type="text" disabled class="price" value="0,25">
</td>
</tr>
// below table row is empty because product is not on stock! //
<tr>
<td></td>
<td></td>
</tr>
//etc...

我尝试对 qtyprice 输入值求和,但我的脚本始终返回 NaN 作为结果。我认为这是因为当产品没有库存时,表格单元格为空。因此返回 NaNundefined。 我读过很多帖子,例如 this但这并不能解决我的问题。

我拥有的是这样的:

function update_amounts(){
var sum = 0.0;
$('#inspiration .table tbody tr').each(function() {
var qty = $(this).find('.qty').val();
var price = $(this).find('.price').val();
console.log(price, qty);
var amount = (qty*price)
sum+=amount;
});
$('.total').text(sum);
}

我已经尝试过的是:

var qty = parseInt($(this).find('.qty').val()) || 0;
var price = parseFloat($(this).find('.price').val()) || 0;

还有:

var qty = $(this).find('.qty').val();
var price = $(this).find('.price').val();
qty= parseInt(qty) || 0;
price= parseFloat(price) || 0;
console.log returns

(2) 1 0
0 0
(3) 1 0

以下是 console.log 返回的原始代码(第一个是价格,第二个数量):

0,60 1
0,90 1
undefined undefined
0,14 1
0,12 1
0,75 1

我不知道有什么新选项可以解决此问题!

最佳答案

您需要使用.字符来启动浮点,而不是,

value="0,60" 不会被视为数字。 value="0.60" 将是。

%  node
> "0.60" * 5
3
> "0,60" * 5
NaN
>

当运行 parseFloat 时,它将命中 , 并停止将其余部分视为数字,因此最终会得到 0

> parseFloat("0.60") * 5
3
> parseFloat("0,60") * 5
0

关于javascript - 为什么总和返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25567180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com