我正在开发一个应用程序,其中一部分需要将值相加。
我有一个表单,用户可以在其中输入允许浮动的美元金额,即55.25
等。当通过该表单提交新项目时,总数会相加。使用整数很容易,但我希望在每次提交表格时都将浮点数加在一起。困难在于,为了显示数字,我使用parseFloat().toFixed(2)
,但将字符串相加只会得到一个字符串值,而不是数学/十进制值。
我怎样才能做到这一点?
totalAmount(() => {
let totalPayment = '0.00';
if (items.length > 0) {
for (let i = 0; i < items.length; i++) {
let item = JSON.parse(JSON.stringify(items[i]));
totalPayment = parseFloat(totalPayment) + parseFloat(item.amount).toFixed(2);
}
}
return totalPayment;
}),
输入字段
<input type="number" required min="0" id="amount" step=0.01>
您可以在每个项目之前加一个+号,将其转换为数字,然后.to修复结果
totalPayment = (+totalPayment + +item.amount).toFixed(2)
先添加,然后用toFixed
:格式化
totalPayment = parseFloat(totalPayment) + parseFloat(item.amount);
totalPayment = totalPayment.toFixed(2);
或者:
totalPayment = parseFloat(totalPayment) + parseFloat(item.amount);
return totalPayment.toFixed(2);