BankCurrency class

Display metadata for a currency, following each currency's own presentation guidelines: official symbol, ISO 4217 minor units, and symbol placement.

Notable entries:

  • SAR uses the official Saudi riyal symbol (U+20C1) introduced by SAMA in 2025 and standardized in Unicode 17.
  • Gulf dinars and rials that subdivide into 1000 (KWD, BHD, OMR, JOD, IQD, TND, LYD) carry three decimal places.
  • Zero-decimal currencies (JPY, KRW, VND, CLP, ISK) never render a fraction.
  • Arabic-script symbols are wrapped in Unicode directional isolates when composed, so they render correctly inside LTR layouts.

Constructors

BankCurrency({required String code, required String symbol, required String name, int decimalDigits = 2, bool symbolBeforeAmount = true, bool spaceBetweenSymbolAndAmount = false, bool symbolIsRtlScript = false})
const

Properties

code String
ISO 4217 alphabetic code, e.g. 'SAR'.
final
decimalDigits int
ISO 4217 minor units (0, 2, or 3).
final
embeddableSymbol String
The symbol as it should be embedded in composed strings: RTL-script symbols are wrapped in FSI/PDI isolates.
no setter
hashCode int
The hash code for this object.
no setterinherited
name String
English currency name.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
spaceBetweenSymbolAndAmount bool
Whether a thin gap separates symbol and amount.
final
symbol String
Official display symbol, e.g. '⃁' for the Saudi riyal.
final
symbolBeforeAmount bool
Whether the symbol precedes the amount per that currency's convention in Latin-script contexts.
final
symbolIsRtlScript bool
Symbol is written in an RTL script and needs directional isolation when embedded in LTR text.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited