# @betty-blocks/number-formatter 中文文档

规范地址：https://npmcn.com/package/%40betty-blocks/number-formatter/

版本：2\.2\.0
npm 元数据更新时间：2026-08-21T13:09:35.350Z
中文译文更新时间：2026-11-08T00:43:39.079Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40betty-blocks/number-formatter
原文对照：https://npmcn.com/package/%40betty-blocks/number-formatter/?lang=original

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

- 包体积（解压后）：115 kB，66 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2021-04-26T13:46:22.966Z
- 最新版本发布：2025-02-28T14:24:57.109Z
- 近 30 天下载量：2400（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：11（近 12 个月 0 个）

## 中文简介

以语法为基础的数字格式 [数字.js](http://numeraljs.com/)

## 安装

```sh
npm install @betty-blocks/number-formatter
```

也可以使用：`pnpm add @betty-blocks/number-formatter`、`yarn add @betty-blocks/number-formatter`、`bun add @betty-blocks/number-formatter`

## README

# 数量

以语法为基础的数字格式 [数字.js](http://numeraljs.com/)

图书馆的工作如下:

-   解析用户格式
-   从解析格式创建配置
-   使用生成的配置格式

解析器来自 [标签](https://pegjs.org/) 语法.

## 图标

更改语法后,您需要重新生成语法。 pegjs:

```sh
yarn generate
```

运行测试 :

```sh
yarn test
```

运行事项( prettier) :

```sh
yarn fmt
```

## 开始

```js
import { createConfig, format } from "@betty-blocks/number-formatter";

const myFormat = "0_0,00";

// create a config from your format
const { config } = createConfig(myFormat);

const myNumber = 123123.123;

// prints 123_123,12
console.log(format(myNumber, config));
```

其他实例:

```ts
import { createConfig, format } from "@betty-blocks/number-formatter";

const formatNumber = (number: number, formatConfig: string): string => {
  let { config, error } = createConfig(formatConfig);
  if (error) {
    return error;
  }
  return format(number, config);
};
```

```ts
import { createConfig, format } from "@betty-blocks/number-formatter";
import { Config } from "@betty-blocks/number-formatter/src/types";

const DEFAULT_FORMAT = "0.00";

const formatNumbers = (numbers: number[], formatConfig: string): string[] => {
  let {config, error} = createConfig(formatConfig);
  if (error) {
    {config} = createConfig(DEFAULT_FORMAT)
  }

  return numbers.map((number) => format(number, config));
};
```

## 特征

### 十进制/分数分隔器

将使用第一个遇到的当前允许的符号是: `, . _ :`

| 格式 | 投入 | 结果 |
| --- | --- | --- |
| 0.0 数据 | 123.123 联合国 | 123.1 国家 |
| 0.0万个 | 123.12313 (中文(简体) ) | 123.123 联合国 |
| 0,0 (韩语) | 123.123 联合国 | 123,1项 |

### 千位分隔符

将使用在 `[]` 或如果遇到两个小数点分隔符.

| 格式 | 投入 | 结果 |
| --- | --- | --- |
| 0, 0.0 (韩语) | 123123.123 (英语) | 123,123.1 (中文(简体) ) |
| 0\[\],00 | 123123.123 (英语) | 123,12 (单位:千美元) |
| 0\[0\]. | 123123.123 (英语) | 12323 (英语) |
| 0: 00 (中文(简体) ) | 123123.123 (英语) | 123 123:12 (中文(简体) ) |

### 强制标志

| 格式 | 投入 | 结果 |
| --- | --- | --- |
| +0.0 键 | 23.123 (中文(简体) ) | +23.1 键 |
| +0.0 键 | \-23.123 - 23.123 (英语) | \-23.1岁 |

### 左侧粘贴

在左边添加零

| 格式 | 投入 | 结果 |
| --- | --- | --- |
| 0.0 数据 | 23.123 (中文(简体) ) | 第23.1条 |
| 00000.0 (英语) | 23.123 (中文(简体) ) | 00023.1 (中文(简体) ) |
| 00000 (英语). | 23.123 (中文(简体) ) | 00023 (英语) |

### 可选分数

允许小数点后有弹性数字.

| 格式 | 投入 | 结果 |
| --- | --- | --- |
| 0.0\[000\] (中文(简体) ) | 23.123 (中文(简体) ) | 23.123 (中文(简体) ) |
| 0.0\[000\] (中文(简体) ) | 第23条 | 23.0 (韩语) |
| 0.0\[00\] (中文(简体) ) | 23.123 (中文(简体) ) | 23.123 (中文(简体) ) |
| 0.0\[00\] (中文(简体) ) | 第23.12346789号 | 23.123 (中文(简体) ) |
| 0.0\[00\] (中文(简体) ) | 第23.1条 | 第23.1条 |

### 函数

#### 数字

或作后事,衔克克. 后缀1、2和3 `st`, (中文(简体) ), `nd` 财务报告和审定财务报表 `rd` 其他数字得到 `th` 后缀

| 格式 | 投入 | 结果 |
| --- | --- | --- |
| 零点 | 23.123 (中文(简体) ) | 第23次 |
| 零点 | 1个 | 第1个 |

#### 平均数

如果数字小于 1000, 则没有后缀 如果数字在1000到999999之间,则 `k` 后缀 如果数字大于 1000 000 得到一个 `m` 后缀

| 格式 | 投入 | 结果 |
| --- | --- | --- |
| 0.0a (单位:千美元) | 1230000 (英语) | 1.2m (单位:千美元) |
| 0\. a 数 | 第1234条 | 1个k |
| 0\. a 数 | \-104321号 | \-104克 - 104克 - 10个 |
| 0\. a 数 | 第1234条 | 1个k |
| 0.a (单位:千美元) | \-104321号 | \-104k (英语) |
| 0.000a (单位:千美元) | 10230000000 (英语) | 1.023b (单位:千美元) |

### 货币

遇到的任何文字都将用作货币符号

| 格式 | 投入 | 结果 |
| --- | --- | --- |
| 0块. | 123.23 联合国 | 123美元 |
| 0美元 (单位:美元) | 123.23 联合国 | 123美元 |
| 0.00欧元 | 123.23 联合国 | 123,23欧元 |
| "MyCurrent" 0. 0 (英语) | 123.23 联合国 | 紧急情况 123.23 |

## 常见问题

### @betty-blocks/number-formatter 是什么？

以语法为基础的数字格式 数字\.js

### 如何安装 @betty-blocks/number-formatter？

在项目目录运行 npm install @betty-blocks/number-formatter，或使用 pnpm add / yarn add / bun add。

### @betty-blocks/number-formatter 支持 TypeScript 吗？

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

### @betty-blocks/number-formatter 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @betty-blocks/number-formatter 可以商用吗？

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

### @betty-blocks/number-formatter 的下载量有多少？

根据 npm 官方下载统计，@betty-blocks/number-formatter 在 2026/10/08 – 2026/11/06 这 30 天内被下载 2,400 次，日均约 80 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @betty-blocks/number-formatter 还在维护吗？

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

