当我有一个获取输入Math.pow()
的变量时,我不知道如何使用inputVal
。这就是我做到的。
else if(pow == true){
if(equation.indexOf('^') == inputVal){
inputVal = inputVal.replace('^', '');
input.innerHTML = Math.pow(inputVal);
}else{
input.innerHTML = 'Syntax Error';
pow = false;
}
}
我试图自己做这件事,但它不起作用。
我也试过这个
else if(pow == true){
input.innerHTML = Math.pow(inputVal);
}else{
pow = false;
}
答案 0 :(得分:4)
据推测,您的输入值的格式为base^exponent
。因此,在^
上拆分输入以获取参数数组,然后使用pow,Math.spread operator()
调用...
; e.g:
console.log("result: %o", Math.pow(..."2^3".split("^")));
答案 1 :(得分:0)
Math.pow()需要2个参数。 如果您的inputVal是a ^ b格式 你需要做的是
var piv = inputVal.indexOf("^");
var a = parseInt(inputVal.substring(0, piv));
var b = parseInt(inputVal.substring(piv+1));
input.innerHTML = Math.pow(a, b);
请确保您的inputVal是一个字符串。否则字符串函数不起作用。 柯南的评论是正确的。您可以根据需要尝试parseFloat甚至Number()函数。