數學表達式計算機 — 線上計算任意公式
使用 +、-、*、/、^、% 及括號,以及 sqrt、sin、cos、log 等函式輸入數學表達式,結果即時顯示。無需外部函式庫,解析器完全在瀏覽器中運行,不向伺服器傳送任何資料。
運作原理
支援的運算和函式
計算機支援四種基本算術運算符(+、-、*、/),以及次方(^)和取模(%)。括號可以任意層次巢狀。
內建函式涵蓋最常見的數學需求:sqrt(x) 和 cbrt(x) 計算平方根和立方根;abs(x) 求絕對值;sin(x)、cos(x)、tan(x) 以角度制計算三角函式;log(x) 計算自然對數,log2(x) 和 log10(x) 分別計算以 2 和 10 為底的對數;floor(x)、ceil(x)、round(x) 用於取整。常數 pi 和 e 可直接按名稱使用。
表達式求值的實際用途
表達式計算機最擅長處理連續的計算鏈。無需在手機計算機上一步步按鍵、擔心忘記中間結果,只需將整個計算過程寫成一個表達式,即可直接看到答案。
單位換算、應力計算或統計公式等工程和科學任務,通常需要平方根、次方和對數的組合。在這裡輸入完整公式,可以留下清晰的計算記錄,而不像在實體計算機上按一串按鍵那樣難以追溯。
運算優先順序
解析器遵循標準數學運算優先順序:括號優先,然後是次方(右結合),接著是乘除取模(從左到右),最後是加減(從左到右)。這與學校教授的 BODMAS/PEMDAS 規則一致。
支援一元負號,例如 -3^2 按數學慣例計算為 -(3^2) = -9。若需要 (-3)^2 = 9,請明確添加括號。如有疑問,多用括號無妨——它們只會讓表達式更易讀。
常見問題
›為什麼三角函式使用角度制而不是弧度制?
對日常使用來說,角度制更直觀——大多數人用 0 到 360 來思考角度,而非 0 到 2π。解析器內部會自動轉換,因此 sin(90) = 1 的結果符合預期。若需要弧度制,可乘以 pi/180:sin(1.5708) 的結果與 sin(90) 相同。
›log 和 log10 有什麼區別?
log(x) 計算自然對數(底數 e ≈ 2.718)。log10(x) 使用底數 10,這是大多數人在非微積分場景下寫 'log' 時的含義。log2(x) 使用底數 2,常見於資訊理論和計算機科學。
›^ 表示次方還是按位 XOR?
在本計算機中,^ 始終表示次方(指數),而非按位 XOR。因此 2^10 = 1024。如需位元運算,請使用其他工具。
›表達式中可以使用空格嗎?
可以。解析器會忽略空格,因此 '2 ^ 10 + sqrt( 16 )' 與 '2^10+sqrt(16)' 等價。可在任何有助於提高可讀性的地方添加空格。
›除以零會發生什麼?
計算機會擷取除以零的情況並顯示錯誤提示,而不會顯示 Infinity 或 NaN。修正表達式後重試即可。
›結果顯示幾位小數?
最多顯示 10 位有效小數,並按您所在語言環境的數字格式進行格式化。由於二進位浮點運算的特性,可能出現如 0.9999999999 而非 1 的微小誤差,這是正常現象。
›這比在 JavaScript 中使用 eval() 更安全嗎?
是的。本工具使用手寫的遞迴下降解析器,僅識別列出的運算符和函式,從不呼叫 eval() 或任何等效機制,因此無法注入或執行任意程式碼。
›我輸入的表達式會離開瀏覽器嗎?
不會。解析器完全在您的瀏覽器中運行。您輸入的任何內容都不會被傳送到伺服器或記錄在任何地方。
相關工具
最後更新: