fluid-currency

Kotlin multiplatform currency library.
This is most useful in combination with fluid-i18n for retrieving internationalized information about a currency.
Installation
build.gradle.kts:
dependencies {
implementation("io.fluidsonic.currency:fluid-currency:0.14.0")
}
Usage
println(Currency.forCode("EUR"))
class Currency
A class with information about a specific currency defined by ISO 4217.
val currency = Currency.forCode("EUR")
println(currency.code)
println(currency.defaultFractionDigits)
println(currency.numericCode)
val currency = Currency.forCodeOrNull("ABC123")
println(currency)
value class CurrencyCode
A value class for ISO 4217 3-letter currency codes (e.g. EUR or USD).
Supports kotlinx.serialization out of the box.
val code = CurrencyCode.parse("EUR")
println(code.toString())
println(code.isValid())
val code = CurrencyCode.parse("abc")
println(code.toString())
println(code.isValid())
val code = CurrencyCode.parseOrNull("ABC123")
println(code)
JVM interop
On the JVM, extension functions are provided for converting between this library's Currency and java.util.Currency:
val platformCurrency: java.util.Currency = Currency.forCode("EUR").toPlatform()
val commonCurrency: Currency = platformCurrency.toCommon()
License
Apache 2.0