mcpField
C
calculator

calculator

github.com/code-and-sorts其他58853 次安装26 周前更新
代码仓库

关于 calculator

用于计算算术表达式的技能,采用任意精度十进制运算。支持常见运算符、括号和整数指数,但不支持符号运算或三角函数。

主要功能

  1. 01任意精度十进制运算
  2. 02运算符优先级和括号
  3. 03右结合的整数指数运算
  4. 04处理表达式错误和除以零

适用场景

  1. 01计算十进制表达式,避免浮点误差
  2. 02计算含嵌套括号的表达式
  3. 03按右结合顺序计算整数幂

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/code-and-sorts/awesome-copilot-agents --skill calculator

安装后在 Claude Code 中输入/calculator确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
jest.config.js
package-lock.json
package.json
tsconfig.json
scripts/src/
calculator.test.ts
calculator.ts
run.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