inputVal上的Math.pow()

时间:2014-02-04 14:34:37

标签: javascript html5 web

当我有一个获取输入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;
}

2 个答案:

答案 0 :(得分:4)

据推测,您的输入值的格式为base^exponent。因此,在^上拆分输入以获取参数数组,然后使用powMath.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()函数。