Try:
算术、函数(sqrt、sin、log)、常量(pi、e)。输入限定为数学安全字符。
功能说明
边输入边对数学表达式求值,并以大号字体显示结果,字号随长度自动缩放。词汇表覆盖算术、幂运算以及常用的函数和常量:sqrt、sin、cos、tan、log、pi、e 和括号。输入被限制为数学安全字符,求值在你的浏览器本地完成。任何内容都不外传。
使用方法
- 在居中的大输入框里输入表达式。每次按键都会即时求值。
- 或点一个示例芯片:
2 * (3 + 4) / 5、sqrt(16) + 2^10、sin(pi / 6)、log(e^3) + 7、2^16 - 1。 - 结果渲染在下方,字号自动适配。Clear 清空输入,结果也随之消失。
- 复制分享链接把表达式编码进 URL(
?t=...)。
示例
| 表达式 | 结果 | 说明 |
|---|---|---|
2 * (3 + 4) / 5 |
2.8 |
括号优先 |
sqrt(16) + 2^10 |
1028 |
4 + 1,024 |
sin(pi / 6) |
0.49999999999999994 |
诚实的浮点答案,不是 0.5 |
2^16 - 1 |
65535 |
最大的 16 位无符号值 |
sin(pi / 6) 的结果值得单独说明。pi 无法在二进制浮点中精确存储,因此正弦值比整洁的 0.5 偏了一步。这是正确的 IEEE 754 行为,工具如实打印,而不是在背后偷偷四舍五入。
表达式求值的原理
对陌生人敲入的字符串求值是经典的注入问题:JavaScript 的 eval 执行的是代码,不是数学。本工具从不调用 eval。输入先经过一道守卫,只有完全由数学字符组成的字符串才能到达求值器:
| 允许 | 拦截 |
|---|---|
| 数字、字母、空格 | 引号和反引号 |
+ - * / % ^ ! ( ) , . < > |
方括号、花括号、分号 |
| 最长 200 字符的表达式 | import、eval、function 之类关键字 |
sqrt 和 pi 需要字母,所以字母能通过字符检查;但拼出的是代码名称而非数学的词序列会被直接拒绝。词汇表之外的任何输入都会在求值前失败,这也覆盖了分享链接:藏在 ?t= URL 里的表达式会死在同一道守卫上。
补充说明
- **
log是自然对数:**在本求值器中log表示自然对数(以 e 为底),所以log(e)是1。没有单独的ln函数;使用它的表达式会显示 “Could not evaluate”。 - **无副作用:**表达式只能产出一个值。它无法触碰页面、网络或你的文件。
- **私密:**求值在本地运行;任何内容都不外传。
- **相关工具:**Percentage Calculator、Statistics Calculator、Number Base Converter。