簡體   English   中英

inputVal上的Math.pow()

[英]Math.pow() on inputVal

當我有1個獲取輸入的變量inputVal時,我不知道如何使用Math.pow() 這就是我做的。

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;
}

大概您的輸入值的格式為base^exponent 因此,將輸入拆分為^以獲取參數數組,然后調用Math. pow () Math. pow ()使用價差運算符... ; 例如:

 console.log("result: %o", Math.pow(..."2^3".split("^"))); 

Math.pow()需要2個參數。 如果您的inputVal是aa ^ 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()函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM