money2
  • Overview
  • Common Currencies
  • Creating a Currency
  • Registering a Currency
  • Parsing
  • Find a currency
  • Default format
  • Symbols
  • Separators
    • Decimal Separator
    • Group Separator
  • Creating Money
    • Money.parse
    • Currency.parse
    • Money.from
    • Currencies.parse
    • decimalDigits
  • Formatting
    • Formatting Patterns
  • Storing and Send
  • Exchange Rates
  • Comparison
  • Currency Predicates
  • Value Sign Predicates
  • Arithmetic Operations
  • Allocation
  • Money encoding/decoding
Powered by GitBook
On this page

Was this helpful?

  1. Separators

Decimal Separator

Numbers use a decimal separator to separate the integer and factional (decimal) component of a number.

In the English speaking world the period (.) is used as the decimal separator, however in large parts of the world the comma (,) is used as the decimal separator.

e.g.

  • $USD1,000.99 (one thousand dollars and 99 cents)

  • €EUR1.000,99 (one thousand euro and 99 cents)

Money2 use the English convention by default unless you use a CommonCurrency in which case the appropriate separators will have been set for each currency.

To switch to the Euro style convention set the decimalSeparator and groupSeparator arguments when creating a currency.

You will also need to provide an appropriate pattern.

import 'package:money2/money2.dart';
    test('Decimal Separator', () {
      final euro = Currency.create('EUR', 2,
          symbol: '€',
          decimalSeparator: ',',
          groupSeparator: '.',
          pattern: 'S0,000.00');

      expect(euro.decimalSeparator, equals(','));
    });

Note: even if you have switched to alternate separators, Money2 patterns always use the '.' for a decimal separator and the ',' as the thousand group separator. This allows patterns to be shared amongst currencies.

PreviousSeparatorsNextGroup Separator

Last updated 1 month ago

Was this helpful?