【发布时间】:2019-08-04 22:38:55
【问题描述】:
这是一个非常基本的SIP 计算器,不应超过 5 行。但是可变数量一直被视为string。我必须继续使用parseFloat() 并声明三个额外的变量来存储最终值,然后再返回它们以使代码正常工作。有什么解决办法吗?
function sipCalculator(amount, r, n) {
r = r / 12;
amount = parseFloat(amount);
var temp = 0;
for (var i = 0; i < n; i++) {
temp += amount;
temp += (temp * (r / 100));
}
var x = amount * n;
var y = parseFloat(temp.toFixed(2));
var z = parseFloat((y - x).toFixed(2));
return [x, y, z];
};
【问题讨论】:
-
函数怎么调用?正如你传递的参数是什么?此外,
.toFixed(2)会将数字转换为字符串,如果您还不知道的话。 -
amount只有在作为字符串传入时才会是字符串。除此之外,toFixed返回一个字符串。所以我不确定变量不应该被视为字符串时如何处理。 -
如果金额是
input的值,它将始终是一个字符串 -
@Nisarg 我知道,这就是我使用 parseFloat() 的原因
标签: javascript