dinero-formatting

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Dinero.js Formatting

Dinero.js 格式化

Patterns for formatting Dinero.js monetary values for display. Covers currency symbols, locale-aware formatting, non-decimal currencies, and serialization.
用于格式化Dinero.js货币值以供展示的模式,涵盖货币符号、地区感知格式化、非十进制货币和序列化相关内容。

When to Apply

适用场景

Reference these guidelines when:
  • Displaying prices, totals, or monetary values in a UI
  • Adding currency symbols or locale-specific formatting
  • Formatting non-decimal currencies (e.g., historical currencies with non-base-10 subdivisions)
  • Serializing Dinero objects for APIs, databases, or transport
  • Building reusable formatting utilities
当出现以下情况时可参考这些指南:
  • 在UI中展示价格、合计或其他货币值
  • 添加货币符号或特定地区适配的格式
  • 格式化非十进制货币(例如带有非10进制细分单位的历史货币)
  • 序列化Dinero对象以供API、数据库或传输使用
  • 构建可复用的格式化工具

Rule Categories by Priority

按优先级划分的规则类别

PriorityCategoryImpactPrefix
1DisplayCRITICAL
display-
2LocaleHIGH
locale-
3SerializationHIGH
serialization-
4Non-DecimalMEDIUM
nondecimal-
优先级类别影响程度前缀
1展示严重
display-
2地区适配
locale-
3序列化
serialization-
4非十进制
nondecimal-

Quick Reference

快速参考

1. Display (CRITICAL)

1. 展示(严重)

  • display-to-decimal
    - Use
    toDecimal
    for display strings, not
    toSnapshot
  • display-no-currency-symbols
    - Dinero.js does not format currency symbols; compose with
    Intl.NumberFormat
  • display-to-decimal
    - 展示字符串使用
    toDecimal
    ,不要使用
    toSnapshot
  • display-no-currency-symbols
    - Dinero.js本身不处理货币符号格式化,请结合
    Intl.NumberFormat
    使用

2. Locale (HIGH)

2. 地区适配(高)

  • locale-intl-formatter
    - Build reusable formatters with
    Intl.NumberFormat
  • locale-multilingual
    - Create locale-parameterized formatters for multilingual sites
  • locale-intl-formatter
    - 使用
    Intl.NumberFormat
    构建可复用的格式化器
  • locale-multilingual
    - 为多语言站点创建支持地区参数的格式化器

3. Serialization (HIGH)

3. 序列化(高)

  • serialization-snapshot
    - Use
    toSnapshot
    for transport and storage, not display
  • serialization-bigint-json
    - BigInt Dinero objects require a custom JSON replacer
  • serialization-snapshot
    - 传输和存储使用
    toSnapshot
    ,不要用于展示
  • serialization-bigint-json
    - BigInt类型的Dinero对象需要自定义JSON replacer

4. Non-Decimal (MEDIUM)

4. 非十进制(中)

  • nondecimal-to-units
    - Use
    toUnits
    for non-decimal currencies, not
    toDecimal
  • nondecimal-to-units
    - 非十进制货币使用
    toUnits
    ,不要使用
    toDecimal

How to Use

使用方法

Read individual rule files for detailed explanations and code examples:
rules/display-no-currency-symbols.md
rules/locale-intl-formatter.md
Each rule file contains:
  • Brief explanation of why it matters
  • Incorrect code example with explanation
  • Correct code example with explanation
  • Additional context and references
阅读单个规则文件了解详细说明和代码示例:
rules/display-no-currency-symbols.md
rules/locale-intl-formatter.md
每个规则文件包含:
  • 规则重要性的简要说明
  • 错误代码示例及解释
  • 正确代码示例及解释
  • 额外上下文和参考资料