数学表达式求值器
在线计算数学表达式:支持 + - * / % ^ ( ) 与 sin/cos/tan/sqrt/abs/ln/log/floor/ceil/round/min…
🧮 Math Expression Evaluate Device - Online Calculate Math Expression : Support + - * / % ^ (
Evaluate math expressions, functions and unit-aware calculations safely in your browser — no install, no upload.
📐 工作原理与说明
解析并计算数学表达式的值。
- 优先级:先括号,再函数与幂,其次乘除,最后加减。
- 算法:常用调度场算法(Shunting-yard)把中缀式转为后缀式再求值,避免歧义。
- 支持:三角函数、对数、开方、取模与常量 π、e。
- 安全:绝不可用
eval()执行用户输入,应使用专门的表达式解析器。
🕐 最近计算历史
📚 深度解析:数学表达式求值器
💡 常见使用场景
- 快速计算含括号、函数、常量的复杂算式。
- 核对报表口径:把表格里的公式粘进来独立算一遍,确认结果一致,避免引用区域错误导致整列算错。
求值
输入 `2*(3+4)^2 - sqrt(16)` → 2·49 − 4 = 94。
❓ 常见问题(FAQ)
- 支持哪些函数?
- 常见 sqrt、pow、sin/cos、log、abs、round 等。
- 为什么 0.1 + 0.2 不等于 0.3?
- 因为二进制浮点无法精确表示十进制的 0.1,二者相加的结果与 0.3 的浮点表示有极小差异。这是 IEEE 754 的固有特性,不是计算错误。涉及金额或需要精确比较时,应使用定点数、整数分单位或专门的十进制库,比较时用容差而非等号。