← 返回工具箱

数学表达式计算

MATH EVAL · 数据处理

安全计算数学表达式:支持 + - * / % ^ 与括号、函数(sin / sqrt / log…)、常量,实时求值并给出可读错误。

表达式
结果
安全递归下降解析:支持 + - * / % ^、括号、小数;函数白名单 abs sqrt sin cos tan log log2 log10 exp round floor ceil sign min max pow;常量 pi / e。绝不用 eval。

>_ 使用指南 · GUIDE

输入一个数学表达式(如 (3+5)*2^3 - 100/(4+6)),工具会实时求值并显示结果;出错时给出可读的错误提示,方便你定位哪里写错了。

支持的语法包括:四则运算 + - * /、取余 %、幂 ^、小括号嵌套,常用函数(sin、cos、tan、sqrt、log、abs、round 等)与常量(如 pi、e)。比普通计算器更「程序员友好」——可以直接把一段计算式整段贴进来求值。

常见用法:

  1. 整段求值:把要算的算式直接贴入,回车即得结果,含括号与幂
  2. 调用函数:用 sqrt(16)、sin(pi/2)、log(100) 这类函数式计算
  3. 快速校验:写代码或核对数值时,临时算一个结果对照

求值通过安全递归下降解析器完成,绝不使用 eval 或动态执行,因此贴入任何内容都只是「算数」,不会执行有害代码;处理全程在浏览器本地完成。

>_ 常见问题 · FAQ

Q1 · 它和系统自带的计算器有什么区别?

普通计算器要一步步按按钮,本工具支持一次贴入整段含括号、幂、函数的表达式直接出结果,适合程序员把 (a+b)*c 之类的式子整段核对。它还提供可读的错误提示(哪个括号没闭合、哪个函数不认识),比在计算器上按错键好排查。

Q2 · 支持哪些函数和常量?

常用数学函数基本都有:三角函数 sin/cos/tan、开方 sqrt、对数 log/ln、绝对值 abs、取整 round/floor/ceil 等;常量含 pi、e。具体以页面内提示为准,遇到不支持的会给出可读报错,不会静默算错。

Q3 · 为什么强调「不使用 eval」?有区别吗?

eval 会把它收到的字符串当代码执行,若输入来自不可信来源,可能执行任意代码,存在严重安全风险。本工具用递归下降解析器把表达式当「数学语法」逐字符解析求值,只认识数字、运算符、括号与白名单函数,无法执行代码,因此贴入任何内容都是安全的。

Q4 · 运算优先级是怎么处理的?和常见数学一致吗?

一致:先算括号内,再算幂(^),然后乘除、取余,最后加减,同级从左到右。举例如 2+3*4 得 14(先乘后加)、(2+3)*4 得 20、2^3*2 得 16(先幂)。拿不准就加括号,显式表达意图最稳妥。

Q5 · 出错时提示怎么看?

提示会指向表达式里的问题,常见几类:括号不匹配(多或少)、不认识的内容(含非法字符或未知函数名)、运算不合法(如除零、对负数开方)。根据提示定位到对应片段修正后重算即可,不会只给一句笼统的「错误」。

嵌入代码

把下面的代码复制到你的网页,即可将本工具嵌入为 iframe(自动隐藏导航与页脚)。

高度px
此工具在你的浏览器本地运行,输入内容不会上传。按 Ctrl K 可随时切换到其他工具。