表达式表达式
=
5示例
关于 数学表达式计算器
需要算一串带括号、开方、三角函数的式子时,打开系统计算器一个个点很慢,而很多在线计算器直接用 JavaScript 的 eval 解析,存在被注入恶意代码的风险。本工具采用白名单解析:只允许数字、四则运算、括号以及 sqrt、pow、sin、log 等指定函数,把它们安全映射到内置数学库后求值,绝不执行任意代码。表达式边输入边出结果,支持 ^ 次方和 % 运算。整个过程在浏览器本地完成,你输入的公式不会上传。 建议在日常开发中收藏本工具,遇到数学计算需求时即可快速打开使用。所有计算均在浏览器本地完成,结果即时呈现,无需等待网络请求。
使用场景
- 复合公式 — 一次性求 (2+3)*4/sqrt(16) 这类多层嵌套表达式,无需分步。
- 科学计算 — 调用 sin、cos、log、exp 等函数完成工程或物理估算。
- 次方运算 — 用 pow(2,10) 或 2^10 快速算出存储容量、增长倍数。
- 快速验算 — 写代码时随手核对一个算式结果,避免逻辑里算错系数。
- 取余判断 — 用 % 运算检验某数能否整除,辅助设计循环或分页逻辑。
常见问题
这个工具用 eval 吗?安全吗?
不直接执行任意代码。它先用正则把输入限制在数字、运算符、括号和白名单函数内,非法字符会被拒绝,再交给受限的求值函数,能有效避免 eval 的注入风险。
支持哪些函数?
包括 sin、cos、tan、asin、acos、atan、sqrt、log、log2、log10、exp、abs、floor、ceil、round、pow、min、max,以及常量 PI 和 E。
三角函数用的是角度还是弧度?
弧度。例如 sin(PI/2) 才等于 1。若要用角度,请先乘以 PI/180 转换。
^ 和 pow 有区别吗?
没有。^ 会被转换成幂运算,2^10 与 pow(2,10) 结果一致,都得到 1024,按个人习惯选用即可。
为什么提示结果不是有限数?
可能是除以零得到无穷大,或 sqrt 负数、log 非正数得到 NaN。这类非有限结果会被拦下并提示,方便你检查表达式。
有浏览器兼容性要求吗?
本工具兼容所有现代浏览器(Chrome、Firefox、Edge、Safari),无需安装任何插件或扩展。
可以离线使用吗?
首次加载后,部分功能在离线状态下仍可使用。页面资源加载后,核心逻辑完全在浏览器本地运行,不依赖网络。