var sub_total = 0;
for(var i = 0; i <= 3; i++){
var rate = parseFloat(10).toFixed(2);
var quantity = parseFloat(15).toFixed(2);
var sub_total = parseFloat((rate * quantity) + sub_total).toFixed(2);
}
console.log(sub_total);
预期输出:
450.00
请帮我,我怎么能解决这个问题,为什么它给输出150150150.00。
由于subTotal
是一个字符串(因为你使用toFixed
),使它
var sub_total = parseFloat((rate * quantity) + sub_total);
sub_total = sub_total.toFixed(2);
演示
var sub_total = 0;
for (var i = 0; i < 3; i++) {
var rate = parseFloat(10).toFixed(2);
var quantity = parseFloat(15).toFixed(2);
var sub_total = parseFloat((rate * quantity) + sub_total);
}
sub_total = sub_total.toFixed(2);
console.log(sub_total);
编辑
预期输出:
450.00
更改为环回
for (var i = 0; i <= 3; i++) {
难道这是回答你的问题?
正如别人已经说过:toFixed返回一个字符串
var sub_total = 0;
for(var i = 0; i <= 3; i++){
var rate = parseFloat(10);
var quantity = parseFloat(15);
var sub_total = parseFloat((rate * quantity) + sub_total);
}
console.log(sub_total);
你可以使用数字没有parseFloat
。最后,你可以格式化数字。
你只需要重复三次分配不变的值只有一次。
var sub_total = 0,
rate = 10,
quantity = 15,
i;
for (i = 0; i < 3; i++){
sub_total += rate * quantity;
}
console.log(sub_total.toFixed(2));
对于预计产量:450.00
你必须仅环<3
,那么你将获得所需的输出。
见一击演示
var sub_total = 0,
rate = 10,
quantity = 15,
i = 0;
for (; i < 3; i++) {
sub_total += (rate * quantity);
}
console.log(sub_total.toFixed(2));
希望下面的代码是有帮助的。
var sub_total = 0;
for(var i = 0; i <= 3; i++){
var rate = parseFloat(10).toFixed(2);
var quantity = parseFloat(15).toFixed(2);
sub_total+ =parseFloat(rate) * parseFloat(quantity) +
parseFloat(sub_total);
}
console.log(sub_total);
我已删除了“<=”,取而代之的是“<”,因为前一种情况会导致因为,要另一次迭代,你会得到600.00。还有我用toFixed方法在年底,因为一开始我们需要先计算SUB_TOTAL的价值那么我们把它转换为具有两个小数的字符串。
var sub_total = 0;
for(var i = 0; i < 3; i++){
var rate = parseFloat(10).toFixed(2);
var quantity = parseFloat(15).toFixed(2);
sub_total = parseFloat((rate * quantity) + sub_total);
}
console.log(sub_total.toFixed(2));