# @formatjs/bigdecimal 中文文档

规范地址：https://npmcn.com/package/%40formatjs/bigdecimal/

版本：0\.2\.10
npm 元数据更新时间：2026-11-01T20:18:24.730Z
中文译文更新时间：2026-11-15T08:30:09.953Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40formatjs/bigdecimal
原文对照：https://npmcn.com/package/%40formatjs/bigdecimal/?lang=original
项目主页：https://github.com/formatjs/formatjs#readme
源码仓库：https://github.com/formatjs/formatjs

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：58.5 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-03-17T17:06:13.823Z
- 最新版本发布：2026-11-01T20:18:24.420Z
- 近 30 天下载量：7166792（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 12 个）

## 中文简介

ECMA-402多填充量大进后小数计算

## 安装

```sh
npm install @formatjs/bigdecimal
```

也可以使用：`pnpm add @formatjs/bigdecimal`、`yarn add @formatjs/bigdecimal`、`bun add @formatjs/bigdecimal`

## README

# @ formjs/ 小数

BigInt 后置小数算术库,用于轻量级替换 `decimal.js` 在ECMA-402多填充.

## 代表权

数值为 `mantissa × 10^exponent` 其中:

-   `mantissa` 是一个 `bigint` (签名、正常化——无后继零)
-   `exponent` 是一个 `number` (整数缩放系数)
-   特殊旗帜处理NaN、±无限和-0

常态化可以去除以八位数块计的小数零的长行,然后处理所剩的位数. 算术值和分精度保持不变.

## API 密码

采用下列27种方法: `@formatjs/ecma402-abstract`数字 :

-   **算术**数字 : `times`, (中文(简体) ), `div`, (中文(简体) ), `plus`, (中文(简体) ), `minus`, (中文(简体) ), `mod`, (中文(简体) ), `abs`, (中文(简体) ), `negated`, (中文(简体) ), `pow`, (中文(简体) ), `floor`, (中文(简体) ), `ceil`, (中文(简体) ), `log`
-   **比较**数字 : `eq`, (中文(简体) ), `lessThan`, (中文(简体) ), `greaterThan`, (中文(简体) ), `lessThanOrEqualTo`, (中文(简体) ), `greaterThanOrEqualTo`
-   **查询**数字 : `isZero`, (中文(简体) ), `isNaN`, (中文(简体) ), `isFinite`, (中文(简体) ), `isNegative`, (中文(简体) ), `isPositive`, (中文(简体) ), `isInteger`
-   **改划**数字 : `toNumber`, (中文(简体) ), `toString`
-   **静态**数字 : `BigDecimal.pow`, (中文(简体) ), `BigDecimal.set`

内部算术懒惰地保留了10到10个权力 `10^64` (最多65个) (原始内容存档于2018-10-12). BigInts. 更强大的势力仍然无所不在。 安全整数 输入跳过字符串 解析;分数/不安全值保留其小数弦表示.

`toNumber()` 直接从 BigInt 转换未分级的整数系数 二进制64舍入. 小数/平面值保留小数文字转换; NaN,无限和签名0 保持他们的明确处理.

以十班的签名权力进行划分 当算术是 安全无虞. 其他分裂者和不安全的发起者保留40位的分级 路径。 已签名的零和非无限值保留其现有的处理.

## 常见问题

### @formatjs/bigdecimal 是什么？

ECMA-402多填充量大进后小数计算

### 如何安装 @formatjs/bigdecimal？

在项目目录运行 npm install @formatjs/bigdecimal，或使用 pnpm add / yarn add / bun add。

### @formatjs/bigdecimal 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @formatjs/bigdecimal 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @formatjs/bigdecimal 可以商用吗？

@formatjs/bigdecimal 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @formatjs/bigdecimal 的下载量有多少？

根据 npm 官方下载统计，@formatjs/bigdecimal 在 2026/10/16 – 2026/11/14 这 30 天内被下载 7,166,792 次，日均约 238,893 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @formatjs/bigdecimal 还在维护吗？

最新版本 0\.2\.10 发布于 2026/11/02（14 天前）；至今共发布 12 个版本，其中过去 12 个月发布了 12 个；首次发布于 2026/03/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

