# @audius/fixed-decimal 中文文档

规范地址：https://npmcn.com/package/%40audius/fixed-decimal/

版本：0\.2\.1
npm 元数据更新时间：2025-12-15T19:36:26.092Z
中文译文更新时间：2026-11-07T04:38:11.792Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40audius/fixed-decimal
原文对照：https://npmcn.com/package/%40audius/fixed-decimal/?lang=original
项目主页：https://github.com/AudiusProject/apps/tree/main/packages/fixed-decimal
源码仓库：https://github.com/AudiusProject/apps#main

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

- 包体积（解压后）：313 kB，53 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2023-12-23T09:27:08.755Z
- 最新版本发布：2025-12-15T19:36:25.837Z
- 近 30 天下载量：4103（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：8（近 12 个月 1 个）

## 中文简介

代表固定精度小数的数据结构

## 安装

```sh
npm install @audius/fixed-decimal
```

也可以使用：`pnpm add @audius/fixed-decimal`、`yarn add @audius/fixed-decimal`、`bun add @audius/fixed-decimal`

## README

# 固定十进制

代表固定精度小数的数据结构.

## 说明

`FixedDecimal` 是一种数据结构,用于表示固定精度小数.

它特别有助于代表货币,特别是密码货币,作为基础 `bigint` 可以在保持精确性的同时处理大量和极其分数,所配置的小数位数允许类在基础值上方便地操作,并以方便用户的方式表示.

与 `BigDecimal` 其他地方的解决办法, `FixedDecimal` 并不是要坚持和进行算术操作,而是为了实现正常化和格式化。 几乎所有的方法都是可连锁的,以方便初始化 `FixedDecimal`,操作它,然后立即取回字符串或 `bigint` 代表权.

事实上, **你可能不需要初始化一个 `FixedDecimal` 直接说.** 取而代之的是,使用能确保输入的辅助货币构建器会被强制达到十进制的适当数量.

## 安装

```bash
npm install @audius/fixed-decimal
```

## 使用量

```ts
new FixedDecimal('12.345').toString() // '12.345'
new FixedDecimal(12.345).toString() // '12.345'
new FixedDecimal(BigInt(12345), 3).toString() // '12.345'

new FixedDecimal('12.345', 6).toString() // '12.345000'
new FixedDecimal(12.345, 6).toString() // '12.345000'
new FixedDecimal(BigInt(12345), 6).toString() // '0.012345'

new FixedDecimal(12345.6789).toLocaleString('en-US', {
  maximumFractionDigits: 2
}) // 12,345.67
new FixedDecimal(12345.6789).toLocaleString('en-US', {
  maximumFractionDigits: 2,
  roundingMode: 'halfExpand'
}) // 12,345.68
```

## 创建货币

例如,如果您想要在代码中使用十八小数 ETH,您可以创建一个帮助器,比如:

```js
const ETH = (value) => new FixedDecimal(value, 18)
// Calling .value will get the wei amount
console.log(ETH('1.42')).value // 1420000000000000000n

// Can also go from wei to UI string
console.log(
  ETH(12345678901234567890n).toLocaleString('en-US', {
    maximumFractionDigits: 2
  })
) // 12.34
```

在《联合来文》和测试中可找到更多实例和文件.

## 实例

见 [./实例](https://npmcn.com/package/%40audius/fixed-decimal/examples/) 此软件包使用示例的文件夹.

运行

```
npx tsx examples/audio.ts
```

## 常见问题

### @audius/fixed-decimal 是什么？

代表固定精度小数的数据结构

### 如何安装 @audius/fixed-decimal？

在项目目录运行 npm install @audius/fixed-decimal，或使用 pnpm add / yarn add / bun add。

### @audius/fixed-decimal 支持 TypeScript 吗？

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

### @audius/fixed-decimal 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @audius/fixed-decimal 可以商用吗？

@audius/fixed-decimal 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @audius/fixed-decimal 的下载量有多少？

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

### @audius/fixed-decimal 还在维护吗？

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

