# CalculatorX **Repository Path**: StartYi/CalculatorX ## Basic Information - **Project Name**: CalculatorX - **Description**: HarmonyOS端的专业科学符号计算器 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: https://calcx.startyi.com - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-09-17 - **Last Updated**: 2026-09-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: ArkTS, HarmonyOS, Cpp, Giac, HarmonyOS-App ## README
CalculatorX 图标

CalculatorX

面向 HarmonyOS NEXT 的原生科学与符号计算器

从基础运算、微积分和矩阵,到方程求解、函数图像与实时汇率换算。

Version 1.6.0 GPL-3.0 HarmonyOS NEXT ArkTS, C++ and Web Giac and SymEngine

GitHub CalculatorX 官网 CalculatorX 帮助文档 提交 Issue

---
## 效果一览
CalculatorX 科学计算 CalculatorX 矩阵运算 CalculatorX 函数图像 CalculatorX 汇率转换

科学计算 · 矩阵与线性代数 · 函数图像 · 汇率转换

## 不只是一台计算器 CalculatorX 是一款为 HarmonyOS NEXT 打造的原生数学工具。它兼顾日常计算与进阶数学需求,既能给出高精度小数,也能保留分数、根式、π 和符号表达式等精确结果。 原生 ArkUI 负责流畅的键盘、手势和触感交互,MathLive 提供接近纸面公式的输入与排版,SymEngine 与 Giac 则共同承担代数、微积分、方程和矩阵计算。复杂能力被整合进统一、直观的移动端界面中。 ## 核心功能 | 模块 | 主要能力 | |---------|----------| | 🧮 基础计算 | 四则运算、百分数、Ans 调用与连续退格 | | 🔬 科学计算 | 三角与反三角、双曲函数、对数、指数、排列组合、求和求积、GCD/LCM、度分秒 | | ∫ 微积分 | 符号求导、定积分、不定积分、极限及数值积分降级 | | 🔢 矩阵与向量 | 1×1 至 6×6 矩阵、逆、转置、共轭转置、行列式、秩、rref、迹和特征值 | | ✖️ 方程求解 | 一元方程与最多六元方程组,支持 `x/y/z/u/v/w` | | 📈 函数图像 | 显函数、参数方程、极坐标、隐函数和独立点,最多同时显示 10 条 | | 💱 汇率换算 | 172 种货币与资产、多币种同步换算、搜索、排序、整点缓存和离线使用 | | 🕘 历史记录 | 按模块保存公式与结果,支持分类检索、回填和滑动删除 | | 🎨 个性化 | 深浅色模式、RAD/DEG、答案格式、小数精度、启动页面和多档触感反馈 | ## 为什么选择 CalculatorX - **精确与近似自由切换**:在符号结果、小数、分数、带分数和度分秒之间快速转换。 - **接近纸面的公式体验**:复杂分数、根式、积分、极限和矩阵均以清晰的 LaTeX 形式展示。 - **原生移动端交互**:Shift 第二功能、长按气泡菜单、连续按键、触感反馈和深浅色适配。 - **完整的函数图像能力**:多函数叠加、颜色区分、自定义定义域、拖拽平移和双指缩放。 - **统一的数学工作区**:计算、方程、矩阵、绘图、汇率和历史记录集中在一个应用中。 - **本地优先**:公式编辑、计算和历史记录主要在设备端完成;汇率支持本地缓存。 ## 技术亮点 CalculatorX 采用 ArkTS、WebView 与 C++ 协作的混合架构: ```text ArkUI 原生界面 → MathLive 公式编辑与 MathJSON AST → N-API → SymEngine / Giac / FastMath / GraphingEngine → LaTeX 结果、Canvas 图像与本地历史记录 ``` - **MathJSON 中间层**:由 Compute Engine 将 LaTeX 转换为结构化 AST,避免在 C++ 中直接解析复杂 LaTeX。 - **双 CAS 协同**:SymEngine 处理轻量符号表达式,Giac 接管积分、极限、方程和矩阵等高级运算。 - **高性能函数绘图**:表达式预编译为 RPN 指令,配合自适应采样、Marching Squares 和 `Float64Array` 绘制。 - **超大数处理**:FastMath 使用数量级与科学记数法节点处理无法直接展开的巨大阶乘和幂。 - **暗房渲染**:隐藏 WebView 离屏生成公式 PNG,不干扰前台编辑与计算。 - **原生持久化**:Preferences 保存设置与模块状态,RDB 保存结构化历史记录。 深入了解实现方式,请阅读 [CalculatorX 架构文档](docs/architecture.md)。 ## 功能状态 ### 已完成 - [x] 基础计算与科学计算 - [x] 符号微积分与答案格式切换 - [x] 矩阵与线性代数 - [x] 一元方程与多元方程组 - [x] 五种函数图像与多函数叠加 - [x] 汇率换算与本地缓存 - [x] 图文化历史记录 - [x] 主题、精度、触感和启动页面设置 ### 开发中 - [ ] 统计分析 - [ ] 单位转换 - [ ] 普通数值转换 ### 首版已实现,待设备验收 - [程序员模式](docs/architecture/programmer.md):8–64 位精确整数、四进制、位运算与标志位、原反补码观察、IEEE 754 binary16/32/64,以及传统/沉浸光感键盘。 ## 获取 CalculatorX

从 AppGallery 获取    从 GitHub Releases 获取

- 普通用户推荐通过 **AppGallery** 安装和更新。 - 开发版本及历史安装包可在 **GitHub Releases** 获取。 - 功能用法、界面说明和常见问题请查看 [在线帮助](https://calcx.startyi.com/docs)。 - 遇到问题可以前往 [GitHub Issues](https://github.com/StartYR/CalculatorX/issues/new) 反馈。 ## 快速开始 ### 环境要求 - DevEco Studio(支持 HarmonyOS NEXT SDK 6.1) - Target SDK:`26.0.0` - Compatible SDK:`6.1.0 (23)` - CMake / BiSheng Native 工具链 ### 克隆项目 ```bash git clone https://github.com/StartYR/CalculatorX.git cd CalculatorX ``` 使用 DevEco Studio 打开工程,完成 OHPM 同步和本地签名配置后,运行 `entry` 模块。具体目录约束、模块接入方式和提交规范见 [开发者协作规范](docs/CONTRIBUTING.md)。 ## 项目文档 | 文档 | 内容 | |--------------------------------------------------|------| | [架构文档](docs/architecture.md) | 项目全貌、系统分层、核心数据流和专题索引 | | [完整项目目录](docs/architecture/project-structure.md) | ArkTS、C++、资源和关键配置结构 | | [计算管线](docs/architecture/compute-pipeline.md) | LaTeX、MathJSON、N-API、SymEngine 与 Giac | | [Windows 语义 CLI 自动化](docs/calculation-cli-automation.md) | 以批量 LaTeX 计算回归为主,辅以必要的状态准备、语义交互与发布隔离 | | [函数图像架构](docs/architecture/graphing.md) | 编辑、RPN、采样、Canvas 与手势 | | [汇率架构](docs/architecture/exchange.md) | 网络刷新、缓存、货币选择和交叉换算 | | [故障定位指南](docs/architecture/troubleshooting.md) | 按现象和调用链定位源码 | | [贡献指南](docs/CONTRIBUTING.md) | 模块开发、状态管理和 Git 提交规范 | | [代码风格指南](docs/code-style.md) | ArkTS、C++、PowerShell、注释与检查约定 | | [更新日志](docs/CHANGELOG.md) | 历史版本与重要改动 | ## 参与贡献 欢迎提交 Issue、改进文档或参与功能开发。开始编码前,请先阅读 [CONTRIBUTING.md](docs/CONTRIBUTING.md),了解 CalculatorX 的模块隔离、状态管理和提交规范。 ## 镜像仓库

AtomGit    Gitee

## 版权与许可 CalculatorX 基于 [GNU General Public License v3.0](./LICENSE) 发布。 **Copyright © 2026 StartYi.**
软件著作权登记特别声明 本项目(CalculatorX / CalcX)的核心架构、前端状态机及底层 C++ 代数引擎等全套源代码所有权归属于本人。目前本项目由原作者推进中国计算机软件著作权登记审核流程。审查机构核对作者身份时,请以本声明及专属域名标识(startyi.com / calcx.startyi.com)为准。 This project is an original work. The author retains all rights to the core codebase during the software copyright registration process.