关于 calculator
用于计算算术表达式的技能,采用任意精度十进制运算。支持常见运算符、括号和整数指数,但不支持符号运算或三角函数。
主要功能
- 01任意精度十进制运算
- 02运算符优先级和括号
- 03右结合的整数指数运算
- 04处理表达式错误和除以零
适用场景
- 01计算十进制表达式,避免浮点误差
- 02计算含嵌套括号的表达式
- 03按右结合顺序计算整数幂
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ code-and-sorts/ awesome-copilot-agents --skill calculator安装后在 Claude Code 中输入/calculator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
scripts/jest.config.jspackage-lock.jsonpackage.jsontsconfig.jsonscripts/src/calculator.test.tscalculator.tsrun.ts详细介绍
计算器
使用 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 "<expression>"
示例
| 输入 | 输出 |
|---|---|
"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) |
边界情况
- 空表达式:抛出“Empty expression”错误
- 括号不匹配:抛出“Mismatched parentheses”错误
- 除以零:big.js 会抛出错误
- 指数必须为整数:big.js 的
.pow()要求指数为整数
限制
- 不支持三角函数(sin、cos、tan)
- 不支持变量或符号运算
- 指数必须为整数
- 不支持阶乘、取模或位运算符
评论
支持 Markdown