跳到主要内容

数学表达式求值

四则/幂/函数/常量实时求值,手写解析器不用 eval。

本地计算 · 数据不出浏览器
表达式

结果(本地解析求值,不用 eval)

输入表达式后实时计算

使用说明

这个工具解决什么问题

临时算一个带函数的表达式,开计算器一个个按太慢,搜索框里的计算器函数支持又残缺。这个工具输入表达式实时出结果:四则、幂、取模、括号随意组合,sqrt、ln、log、log2、sin、cos、tan、abs、floor、ceil、round、min、max、pow 等二十余个函数,pi、e、tau 常量直接用,写公式验证、排查算法精度都顺手。

核心能力

表达式求值:四则、幂(右结合)、取模、括号嵌套,输入即算。函数库:二十余个常用函数,覆盖开方、对数、三角与取整。常量支持:pi、e、tau 免声明直接用。安全实现:手写递归下降解析器,不用 eval,纯浏览器本地运行。错误明示:除零、定义域错误明确提示,不给含糊结果。

使用建议

三角函数记得是弧度制,角度先换算;对数按底数区分,ln 是自然对数,log2 是以 2 为底;min、max、pow 支持多参数组合,嵌套着写能省不少中间步骤。精度按双精度浮点口径,对极端精度有要求的结果自行校验。

常见问题

为什么不用 eval 实现?

eval 把字符串直接当代码执行,粘贴来路不明的表达式存在注入风险。本工具用手写递归下降解析器,只认数字、运算符与白名单函数,表达式之外的任何东西都进不了执行层,安全性是两回事。

sin(30) 为什么不等于 0.5?

本工具三角函数按弧度制,30 指 30 弧度。要按角度计算,先换成弧度:30 度即 pi 除以 6,输入 sin(pi/6) 得到的才是 0.5。数学与多数编程语言默认同为弧度制。

2^3^2 等于多少,为什么?

512。幂运算是右结合:先算 3 的平方得 9,再算 2 的 9 次方得 512。这与四则运算从左往右的习惯不同,是数学与多数计算器的通行口径,连写幂时建议加括号明确意图。

Cron 表达式解释

把 cron 表达式翻译成人话,并给出未来 5 次执行时间。

本地 + 可选 AI

百分比计算

求占比/求百分比/变化率三种模式一步算出。

chmod 权限计算

rwx 复选框与八进制/符号表示三向联动,支持特殊位。

查看更多格式转换,或浏览全部工具。