name: 计算器
description: 执行任意精度算术计算,包括加法、减法、乘法、除法和指数运算。当用户要求计算、运算或评估数学表达式时使用,或当需要精确的十进制算术以避免浮点错误时使用。
license: MIT
compatibility: 需要 Node.js 和 npm
metadata:
author: Colby Timm
version: “1.0”
计算器
使用 big.js 通过任意精度十进制数学运算评估算术表达式。
何时使用
- 用户要求计算或评估数学表达式
- 需要精确的十进制算术(避免浮点错误,例如
0.1 + 0.2 = 0.30000000000000004)
- 表达式涉及括号、运算符优先级或指数
支持的操作
| 运算符 |
描述 |
优先级 |
+ |
加法 |
1 |
- |
减法 |
1 |
* |
乘法 |
2 |
/ |
除法 |
2 |
^ |
指数(右结合) |
3 |
() |
括号 |
最高 |
使用方法
cd scripts
npm ci || npm install
npm run build
npm run calculate "<表达式>"
示例
| 输入 |
输出 |
"3 + 2" |
5 |
"10 / 4" |
2.5 |
"2 ^ 10" |
1024 |
"(2 + 3) * 4" |
20 |
"1 + 4.5 * (3-6) / 5" |
-1.7 |
"-5 + 3" |
-2 |
"2 ^ 3 ^ 2" |
512 (右结合:2^9) |
边界情况
- 空表达式:抛出“空表达式”错误
- 括号不匹配:抛出“括号不匹配”错误
- 除以零:big.js 抛出错误
- 指数必须为整数:big.js 的
.pow() 要求整数指数
限制
- 无三角函数(sin、cos、tan)
- 无变量或符号数学
- 指数必须为整数
- 无阶乘、取模或位运算符