Creating a Currency
The Money2 package includes a list of most of the common currencies with the appropriate default format and scale.
In some cases you may need to create your own currency.
The Money2 package does contain a list of Common Currencies and you can also create your own.
Creating a Currency is simple:
import 'package:money2/money2.dart';
import 'package:test/test.dart';
void main() {
test('Create Currency - example 1', () {
// US dollars which have 2 digits after the decimal place
// using the default patttern: 'S0.00'
final usd = Currency.create('USD', 2);
// Create currency using a custom pattern
final usd2 = Currency.create('USD', 2, pattern: r'SCCC 0.00');
/// we can now use the currency to create a Money instance.
final amount = Money.parseWithCurrency(r'$1.25', usd2);
expect(amount.toString(), equals(r'$USD 1.25'));
// configure everything
final Currency euro = Currency.create('EUR', 2,
symbol: '€',
invertSeparators: true,
pattern: '0,00S',
country: 'European Union',
unit: 'Euro',
name: 'European Union Euro');
The Currency also allows you to optionally provide a country, unit and name. The common currencies have currency specific values for each of these.
You would normally create a single instance of a Currency and re-use that throughout your code base. The easiest way to do this is to register your currency.
Copy link