@audius/fixed-decimal

中文文档
0.2.1发布于 2025/12/16Apache-2.0TypeScriptESM + CJS零依赖近 30 天下载 4103

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

中文使用文档
文档目录5 节
  1. 说明
  2. 安装
  3. 使用量
  4. 创建货币
  5. 实例

固定十进制

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

说明

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

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

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

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

安装

npm install @audius/fixed-decimal

使用量

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,您可以创建一个帮助器,比如:

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

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

实例

见 ./实例 此软件包使用示例的文件夹.

运行

npx tsx examples/audio.ts

版本与发布记录

@audius/fixed-decimal 共发布 8 个版本,首次发布于 2023/12/23;过去 12 个月发布了 1 个版本。

版本发布日期距今
0.2.1latest2025/12/1610 个月前
0.2.02025/08/061.3 年前
0.1.12024/10/042 年前
0.1.02024/09/182 年前
0.0.252024/06/012 年前
0.0.242024/04/122 年前

关于 @audius/fixed-decimal 的常见问题

@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 和提交记录判断。