Utility class for formatting numbers in various formats used throughout the application. Handles formatting of regular numbers, percentages, gas values, CFX amounts, and token amounts.

Constructors

Methods

  • Formats a number with comma separators and up to 4 decimal places. Handles both string and number inputs, with fallback to "0" for invalid values.

    Parameters

    • value: undefined | string | number

      The number to format

    Returns string

    Formatted string with comma separators and optional decimals

    If the value cannot be parsed or formatted

    // Returns "1,234.5678"
    NumberFormatter.formatNumber(1234.5678)
    // Returns "1,000,000"
    NumberFormatter.formatNumber(1000000)
    // Returns "1,234.56"
    NumberFormatter.formatNumber("1234.56")
  • Formats a number as a percentage with 2 decimal places. Always includes the % symbol and handles invalid inputs gracefully.

    Parameters

    • value: string | number

      The value to format as percentage

    Returns string

    Formatted percentage string with % symbol

    // Returns "50.57%"
    NumberFormatter.formatPercentage(50.5678)
    // Returns "0.00%"
    NumberFormatter.formatPercentage(0)
    // Returns "100.00%"
    NumberFormatter.formatPercentage("100")
  • Formats a gas value in Gwei (divides by 1e9). Converts raw gas values to human-readable format with appropriate units.

    Parameters

    • value: undefined | string | number

      The gas value to format

    Returns string

    Formatted gas value string with units

    // Returns "1.0 Gwei"
    NumberFormatter.formatGas(1000000000)
    // Returns "1.5 Gwei"
    NumberFormatter.formatGas("1500000000")
    // Returns "0 Gwei"
    NumberFormatter.formatGas(undefined)
  • Formats a CFX value with proper decimals and unit. Handles scientific notation and converts to human-readable format. Uses 18 decimal places as the standard for CFX tokens.

    Parameters

    • value: undefined | string | number

      The CFX value to format (in wei)

    Returns string

    Formatted CFX value string

    // Returns "1 CFX"
    NumberFormatter.formatCFX("1000000000000000000")
    // Returns "1.5 CFX"
    NumberFormatter.formatCFX("1500000000000000000")
    // Returns "0"
    NumberFormatter.formatCFX(undefined)