HORIZON HASKELLDocslts/ghc-9.14.x7a6c33e2026-10-12Search packagesCtrl K
Theme: |

GHC 9.14.1 · lts/ghc-9.14.x · 7a6c33e · 2026-10-12

Moduletext-icu-0.8.0.5Haskell98

Data.Text.ICU.Number

New users with are strongly encouraged to see if Data.Text.ICU.NumberFormatter fits their use case. Although not deprecated, this header is provided for backwards compatibility only.

Contents
  1. Unicode number formatting API
Synopsis
  • Packagetext-icu-0.8.0.5
  • Exports6
  • LanguageHaskell98
  • LicenceBSD-3-Clause
  • SourceNumber.hsc

Unicode number formatting API

This module helps you to format and parse numbers for any locale. Your code can be completely independent of the locale conventions for decimal points, thousands-separators, or even the particular decimal digits used, or whether the number format is even decimal. There are different number format styles like decimal, currency, percent and spelled-out.

Use formatter to create a formatter and format to format numbers.

valuenumberFormatter
  1. :: NumberFormatStyle

    The type of number format to open. If NUM_PATTERN_DECIMAL or NUM_PATTERN_RULEBASED is passed then the number format is opened using the given pattern, which must conform to the syntax described in DecimalFormat or RuleBasedNumberFormat, respectively.

  2. -> LocaleName

    A locale identifier to use to determine formatting and parsing conventions, or NULL to use the default locale, e.g. "de_DE".

  3. -> NumberFormat

Create and return a new NumberFormat for formatting and parsing numbers.

A NumberFormat may be used to format numbers by calling unum_format, and to parse numbers by calling unum_parse. The caller must call unum_close when done to release resources used by this object.

classclass FormattableNumber n where

Format an integer using a NumberFormat.

The integer will be formatted according to the UNumberFormat's locale.

Instances5FormattableNumber
valueformatNumber'
  1. :: FormattableNumber n
  2. => NumberFormatStyle

    The type of number format to open. If NUM_PATTERN_DECIMAL or NUM_PATTERN_RULEBASED is passed then the number format is opened using the given pattern, which must conform to the syntax described in DecimalFormat or RuleBasedNumberFormat, respectively.

  3. -> LocaleName

    A locale identifier to use to determine formatting and parsing conventions, or NULL to use the default locale, e.g. "de_DE".

  4. -> n

    The number to format.

  5. -> Text

Create a formatter and apply it in one step.

The possible number format styles.

Constructors

  • NUM_PATTERN_DECIMAL Text

    Decimal format defined by a pattern string. See the section "Patterns" at https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classDecimalFormat.html#Patterns for further details regarding pattern strings.

  • NUM_DECIMAL

    Decimal format ("normal" style).

  • NUM_CURRENCY

    Currency format (generic). Defaults to UNUM_CURRENCY_STANDARD style (using currency symbol, e.g., "$1.00", with non-accounting style for negative values e.g. using minus sign). The specific style may be specified using the -cf- locale key.

  • NUM_PERCENT

    Percent format.

  • NUM_SCIENTIFIC

    Scientific format.

  • NUM_SPELLOUT

    Spellout rule-based format. The default ruleset can be specified/changed using unum_setTextAttribute with UNUM_DEFAULT_RULESET; the available public rulesets can be listed using unum_getTextAttribute with UNUM_PUBLIC_RULESETS.

  • NUM_ORDINAL

    Ordinal rule-based format. The default ruleset can be specified/changed using unum_setTextAttribute with UNUM_DEFAULT_RULESET; the available public rulesets can be listed using unum_getTextAttribute with UNUM_PUBLIC_RULESETS.

  • NUM_DURATION

    Duration rule-based format.

  • NUM_NUMBERING_SYSTEM

    Numbering system rule-based format.

  • NUM_PATTERN_RULEBASED Text

    Rule-based format defined by a pattern string. See the section "Patterns" at https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classDecimalFormat.html#Patterns for further details regarding pattern strings.

  • NUM_CURRENCY_ISO

    Currency format with an ISO currency code, e.g., "USD1.00".

  • NUM_CURRENCY_PLURAL

    Currency format with a pluralized currency name, e.g., "1.00 US dollar" and "3.00 US dollars".

  • NUM_CURRENCY_ACCOUNTING

    Currency format for accounting, e.g., "($3.00)" for negative currency amount instead of "-$3.00" (UNUM_CURRENCY). Overrides any style specified using -cf- key in locale.

  • NUM_CASH_CURRENCY

    Currency format with a currency symbol given CASH usage, e.g., "NT$3" instead of "NT$3.23".

  • NUM_DECIMAL_COMPACT_SHORT

    Decimal format expressed using compact notation (short form, corresponds to UNumberCompactStyle=UNUM_SHORT) e.g. "23K", "45B"

  • NUM_DECIMAL_COMPACT_LONG

    Decimal format expressed using compact notation (long form, corresponds to UNumberCompactStyle=UNUM_LONG) e.g. "23 thousand", "45 billion"

  • NUM_CURRENCY_STANDARD

    Currency format with a currency symbol, e.g., "$1.00", using non-accounting style for negative values (e.g. minus sign). Overrides any style specified using -cf- key in locale.

  • NUM_FORMAT_STYLE_COUNT

    One more than the highest normal UNumberFormatStyle value. Deprecated: ICU 58 The numeric value may change over time, see ICU ticket #12420.

  • NUM_DEFAULT

    Default format.

  • NUM_IGNORE

    Alias for NUM_PATTERN_DECIMAL.

Instances2Eq, Show
newtypenewtype NumberFormat

This is the number formatter. It can be created with formatter. Use it to format numbers with the format function.