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.
Creating a Currency is simple:
import'package:money2/money2.dart';import'package:test/test.dart';voidmain() {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 patternfinal 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 everythingfinalCurrency 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.