microsoft/calculator
GitHub: microsoft/calculator
微软 Windows 计算器的官方开源版本,提供标准、科学、程序员计算器以及单位和货币转换功能,同时也是学习 UWP 应用开发的参考项目。
Stars: 30912 | Forks: 5741
# 计算器
Windows 计算器应用是一款使用 C++ 和 C# 编写的现代 Windows 应用,预装在 Windows 系统中。
该应用提供标准、科学和程序员计算器功能,以及各种测量单位和货币之间的转换器集合。
计算器会定期更新并提供新功能和错误修复。您可以在 [Microsoft Store](https://www.microsoft.com/store/apps/9WZDNCRFHVN5) 中获取最新版本的计算器。
[](https://github.com/microsoft/calculator/actions/workflows/action-ci.yml)
## 功能
- 标准计算器功能,提供基本运算并在输入命令后立即对其进行求值。
- 科学计算器功能,提供扩展运算并使用运算顺序对命令进行求值。
- 程序员计算器功能,为开发者提供常用的数学运算,包括常用进制之间的转换。
- 日期计算功能,提供计算两个日期之间差值的功能,以及能够在给定输入日期的基础上增加/减少年、月和/或日的能力。
- 计算历史记录和内存功能。
- 多种测量单位之间的转换。
- 基于从 [Bing](https://www.bing.com) 获取的数据进行货币转换。
- 基本算术运算(加法、减法、乘法、除法)的[无限精度](https://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic),因此计算过程不会丢失精度。
## 入门指南
前置条件:
- 您的计算机必须运行 Windows 11 内部版本 22000 或更高版本。
- 安装最新版本的 [Visual Studio](https://developer.microsoft.com/en-us/windows/downloads)(免费的社区版即可)。
- 安装“通用 Windows 平台开发”工作负载。
- 安装可选的“C++ 通用 Windows 平台工具”组件。
- 安装最新的 Windows 11 SDK。

- 安装 [XAML Styler](https://marketplace.visualstudio.com/items?itemName=TeamXavalon.XAMLStyler) Visual Studio 扩展。
- 获取代码:
git clone https://github.com/Microsoft/calculator.git
- 在 Visual Studio 中打开 [src\Calculator.sln](/src/Calculator.sln) 以构建和运行计算器应用。
- 有关计算器项目架构的总体说明,请参阅 [ApplicationArchitecture.md](docs/ApplicationArchitecture.md)。
- 要运行 UI 测试,您需要确保已安装 [Windows Application Driver (WinAppDriver)](https://github.com/microsoft/WinAppDriver/releases/latest)。
## 路线图
有关 Windows 计算器计划和发布时间表的信息,请参阅 [Windows 计算器路线图](docs/Roadmap.md)。
### 图形模式
添加图形计算器功能[已在项目路线图中](https://github.com/Microsoft/calculator/issues/338),我们希望该项目能够在图形方面创建出色的最终用户体验。为此,官方 Windows 内置计算器的 UI 目前是此仓库的一部分,但由 Microsoft 构建的专有图形引擎(该引擎也为 Microsoft Mathematics 和 OneNote 提供图形驱动功能)并不包含在内。社区成员仍然可以参与 UI 的创建,但是由于使用了基于[通用图形 API](/src/GraphingInterfaces) 构建的[模拟引擎实现](/src/GraphingImpl/Mocks),开发者版本将不具备图形功能。
## 诊断数据
本项目收集使用数据并将其发送给 Microsoft,以帮助改进我们的产品和服务。
阅读我们的[隐私声明](https://go.microsoft.com/fwlink/?LinkId=521839)以了解更多信息。
诊断数据在开发版本中默认禁用,可以通过 `SEND_DIAGNOSTICS` 构建标志来启用。
## 货币转换器
Windows 计算器包含一项货币转换器功能,该功能在开发者版本中使用模拟数据。Microsoft 用于货币转换器功能的数据(例如,在应用程序的零售版本中)未获得供您使用的许可。模拟数据将非常容易识别,因为它引用的是行星而不是国家,并且无论选择什么输入,它都保持静态。
## 报告安全问题
请参阅 [SECURITY.md](./SECURITY.md)。
## 许可证
版权所有 (c) Microsoft Corporation。保留所有权利。
根据 [MIT 许可证](./LICENSE) 授权。
## 功能
- 标准计算器功能,提供基本运算并在输入命令后立即对其进行求值。
- 科学计算器功能,提供扩展运算并使用运算顺序对命令进行求值。
- 程序员计算器功能,为开发者提供常用的数学运算,包括常用进制之间的转换。
- 日期计算功能,提供计算两个日期之间差值的功能,以及能够在给定输入日期的基础上增加/减少年、月和/或日的能力。
- 计算历史记录和内存功能。
- 多种测量单位之间的转换。
- 基于从 [Bing](https://www.bing.com) 获取的数据进行货币转换。
- 基本算术运算(加法、减法、乘法、除法)的[无限精度](https://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic),因此计算过程不会丢失精度。
## 入门指南
前置条件:
- 您的计算机必须运行 Windows 11 内部版本 22000 或更高版本。
- 安装最新版本的 [Visual Studio](https://developer.microsoft.com/en-us/windows/downloads)(免费的社区版即可)。
- 安装“通用 Windows 平台开发”工作负载。
- 安装可选的“C++ 通用 Windows 平台工具”组件。
- 安装最新的 Windows 11 SDK。

- 安装 [XAML Styler](https://marketplace.visualstudio.com/items?itemName=TeamXavalon.XAMLStyler) Visual Studio 扩展。
- 获取代码:
git clone https://github.com/Microsoft/calculator.git
- 在 Visual Studio 中打开 [src\Calculator.sln](/src/Calculator.sln) 以构建和运行计算器应用。
- 有关计算器项目架构的总体说明,请参阅 [ApplicationArchitecture.md](docs/ApplicationArchitecture.md)。
- 要运行 UI 测试,您需要确保已安装 [Windows Application Driver (WinAppDriver)](https://github.com/microsoft/WinAppDriver/releases/latest)。
## 路线图
有关 Windows 计算器计划和发布时间表的信息,请参阅 [Windows 计算器路线图](docs/Roadmap.md)。
### 图形模式
添加图形计算器功能[已在项目路线图中](https://github.com/Microsoft/calculator/issues/338),我们希望该项目能够在图形方面创建出色的最终用户体验。为此,官方 Windows 内置计算器的 UI 目前是此仓库的一部分,但由 Microsoft 构建的专有图形引擎(该引擎也为 Microsoft Mathematics 和 OneNote 提供图形驱动功能)并不包含在内。社区成员仍然可以参与 UI 的创建,但是由于使用了基于[通用图形 API](/src/GraphingInterfaces) 构建的[模拟引擎实现](/src/GraphingImpl/Mocks),开发者版本将不具备图形功能。
## 诊断数据
本项目收集使用数据并将其发送给 Microsoft,以帮助改进我们的产品和服务。
阅读我们的[隐私声明](https://go.microsoft.com/fwlink/?LinkId=521839)以了解更多信息。
诊断数据在开发版本中默认禁用,可以通过 `SEND_DIAGNOSTICS` 构建标志来启用。
## 货币转换器
Windows 计算器包含一项货币转换器功能,该功能在开发者版本中使用模拟数据。Microsoft 用于货币转换器功能的数据(例如,在应用程序的零售版本中)未获得供您使用的许可。模拟数据将非常容易识别,因为它引用的是行星而不是国家,并且无论选择什么输入,它都保持静态。
## 报告安全问题
请参阅 [SECURITY.md](./SECURITY.md)。
## 许可证
版权所有 (c) Microsoft Corporation。保留所有权利。
根据 [MIT 许可证](./LICENSE) 授权。标签:Bing数据, C++, GitHub项目, GUI应用, SOC Prime, UWP应用, Visual Studio, WAF测试, Windows应用, Windows计算器, 单位换算, 开发工具, 开源计算器, 微软, 数学计算, 数据擦除, 日常工具, 日期计算, 桌面工具, 汇率转换, 科学计算器, 程序员计算器, 系统自带应用, 进制转换, 连续积分, 通用Windows平台, 高精度计算