在計算器我自己特別是4輸入類型=「數字」:掃描字符串運算 - 的javascript
<input type = "number" id ="mol" min="1" max="4">
<input type = "number" id ="div" min="1" max="4">
<input type = "number" id ="add" min="1" max="4">
<input type = "number" id ="min" min="1" max="4">
在文本框,我插入數學表達式爲延長。
<input type = "text" id = "exp" readonly>
數值和操作符都經過了正常的按鈕。 因此,例如,在文本框中插入的表達式是這樣的:8 * 5-9/2 + 3
現在我希望當我按等價鍵時,基於客戶給予的優先級操作數,表達結果改變了。
乘法:1
除法:4
減法:2
此外:3
-> 40 - 9/2 + 3
-> 31/2 + 3
-> 31/5
-> = 6.2
我認爲這是非常難以實現的。 獲取文本框的值並根據操作數的優先級評估結果是非常極端的。你有什麼建議?
這將如何處理具有相同優先級的兩個運算符? –
OP沒有聲明兩個運營商可以具有相同的優先級。但是,它仍然有效。在這種情況下,你可以分割多個分隔符。這是一種方法:http://stackoverflow.com/questions/19313541/split-a-string-based-on-multiple-delimiters – mayabelle
我創建了這個數組:var Array = ['+',' - ','* ','/']; 但我不明白你的代碼是如何工作的,你可以給我一個實際的例子,說明我之前輸入的規範嗎? – user3344186