NumberFormat.currency constructor

NumberFormat.currency({
  1. Locale? locale,
  2. required String currency,
  3. CurrencyDisplay currencyDisplay = CurrencyDisplay.symbol,
  4. CurrencySign currencySign = CurrencySign.standard,
  5. SignDisplay signDisplay = SignDisplay.auto,
  6. Notation notation = const StandardNotation(),
  7. Grouping useGrouping = Grouping.auto,
  8. NumberingSystem? numberingSystem,
  9. RoundingMode roundingMode = RoundingMode.halfExpand,
  10. TrailingZeroDisplay trailingZeroDisplay = TrailingZeroDisplay.auto,
  11. int minimumIntegerDigits = 1,
  12. Digits? digits,
})

Creates a NumberFormat instance for currency formatting.

WARNING: Not implemented on native yet.

  • locale: The locale to use for formatting. Defaults to the system locale.
  • currency: The 3-letter ISO 4217 currency code (e.g., 'USD') to use. This is a required parameter.
  • currencyDisplay: How to display the currency. Defaults to CurrencyDisplay.symbol.
  • currencySign: When to display the currency sign. Defaults to CurrencySign.standard.
  • signDisplay: When to display the sign for the number. Defaults to SignDisplay.auto.
  • notation: The notation system to use. Defaults to StandardNotation.
  • useGrouping: Whether to use grouping separators. Defaults to Grouping.auto.
  • numberingSystem: The numbering system to use (e.g., 'latn', 'arab').
  • roundingMode: The rounding strategy to use. Defaults to RoundingMode.halfExpand.
  • trailingZeroDisplay: When to display trailing zeros. Defaults to TrailingZeroDisplay.auto.
  • minimumIntegerDigits: The minimum number of integer digits to use. Defaults to 1.
  • digits: Specifies the minimum and maximum number of fraction or significant digits.

Example:

import 'package:intl4x/number_format.dart';

void main() {
  print(NumberFormat.currency(currency: 'USD').format(123.45)); // Prints '$123.45'
}

Implementation

NumberFormat.currency({
  Locale? locale,
  required String currency,
  CurrencyDisplay currencyDisplay = CurrencyDisplay.symbol,
  CurrencySign currencySign = CurrencySign.standard,
  //General options
  SignDisplay signDisplay = SignDisplay.auto,
  Notation notation = const StandardNotation(),
  Grouping useGrouping = Grouping.auto,
  NumberingSystem? numberingSystem,
  RoundingMode roundingMode = RoundingMode.halfExpand,
  TrailingZeroDisplay trailingZeroDisplay = TrailingZeroDisplay.auto,
  int minimumIntegerDigits = 1,
  Digits? digits,
}) : _impl = NumberFormatImpl.build(
       locale ?? findSystemLocale(),
       NumberFormatOptions.currency(
         currency: currency,
         currencyDisplay: currencyDisplay,
         currencySign: currencySign,
         digits: digits,
         minimumIntegerDigits: minimumIntegerDigits,
         notation: notation,
         numberingSystem: numberingSystem,
         roundingMode: roundingMode,
         signDisplay: signDisplay,
         trailingZeroDisplay: trailingZeroDisplay,
         useGrouping: useGrouping,
       ),
     );