Java/Scala Currency (Package)
It’s simple. Let’s dive into the code.
import java.util.Currency
import scala.collection.JavaConverters.asScalaSetConverter
val currencies = Currency.getAvailableCurrencies.asScala
case class CurrencyInfo(code: String, displayName: String,
defaultFractionDigits: Long, numericCode: Long, symbol: String)
val currencyMap = currencies.map {
c =>
c.getCurrencyCode ->
CurrencyInfo(
c.getCurrencyCode,
c.getDisplayName,
c.getDefaultFractionDigits,
c.getNumericCode,
c.getSymbol
)
}.toMap
// which gives you the map as shown in following Scala shell output
/*
scala> val currencyMap = currencies.map {
c =>
c.getCurrencyCode ->
CurrencyInfo(
c.getCurrencyCode,
c.getDisplayName,
c.getDefaultFractionDigits,
c.getNumericCode,
c.getSymbol
)
}.toMap
currencyMap: scala.collection.immutable.Map[String,CurrencyInfo] =
Map(OMR -> CurrencyInfo(OMR,Omani Rial,3,512,OMR),
BBD -> CurrencyInfo(BBD,Barbadian Dollar,2,52,BBD), PLN ->
CurrencyInfo(PLN,Polish Zloty,2,985,PLN), CUC ->
CurrencyInfo(CUC,Cuban Convertible Peso,2,931,CUC), SRG ->
CurrencyInfo(SRG,Surinamese Guilder,2,740,SRG),
SVC -> CurrencyInfo(SVC,Salvadoran Col?n,2,222,SVC), BMD ->
CurrencyInfo(BMD,Bermudan Dollar,2,60,BMD),
TJS -> CurrencyInfo(TJS,Tajikistani Somoni,2,972,TJS), TND ->
CurrencyInfo(TND,Tunisian Dinar,3,788,TND),
GNF -> CurrencyInfo(GNF,Guinean Franc,0,324,GNF), SDG ->
CurrencyInfo(SDG,Sudanese Pound,2,938,SDG),
TMM -> CurrencyInfo(TMM,Turkmenistani Manat (1993-2009),2,795,TMM),
XBB -> CurrencyInfo(XBB,European
Monetary Unit,-1,956,XBB),...
*/
Thanks!
Stay tuned for more Scala/Java stuff!