Added in API level 1

Currency

class Currency : Serializable
kotlin.Any
   ↳ java.util.Currency

Represents a currency. Currencies are identified by their ISO 4217 currency codes. Visit the ISO web site for more information.

The class is designed so that there's never more than one Currency instance for any given currency. Therefore, there's no public constructor. You obtain a Currency instance using the getInstance methods.

It is recommended to use java.math.BigDecimal class while dealing with Currency or monetary values as it provides better handling of floating point numbers and their operations.

Summary

Public methods
static MutableSet<Currency!>!

Gets the set of available currencies.

String!

Gets the ISO 4217 currency code of this currency.

Int

Gets the default number of fraction digits used with this currency.

String!

Gets the name that is suitable for displaying this currency for the default DISPLAY locale.

String!

Gets the name that is suitable for displaying this currency for the specified locale.

static Currency!
getInstance(currencyCode: String!)

Returns the Currency instance for the given currency code.

static Currency!
getInstance(locale: Locale!)

Returns the Currency instance for the country of the given locale.

Int

Returns the ISO 4217 numeric code of this currency.

String!

Returns the 3 digit ISO 4217 numeric code of this currency as a String.

String!

Gets the symbol of this currency for the default DISPLAY locale.

String!
getSymbol(locale: Locale!)

Gets the symbol of this currency for the specified locale.

String

Returns the ISO 4217 currency code of this currency.

Public methods

getAvailableCurrencies

Added in API level 19
static fun getAvailableCurrencies(): MutableSet<Currency!>!

Gets the set of available currencies. The returned set of currencies contains all of the available currencies, which may include currencies that represent obsolete ISO 4217 codes. The set can be modified without affecting the available currencies in the runtime.

Return
MutableSet<Currency!>! the set of available currencies. If there is no currency available in the runtime, the returned set is empty.

getCurrencyCode

Added in API level 1
fun getCurrencyCode(): String!

Gets the ISO 4217 currency code of this currency.

Return
String! the ISO 4217 currency code of this currency.

getDefaultFractionDigits

Added in API level 1
fun getDefaultFractionDigits(): Int

Gets the default number of fraction digits used with this currency. Note that the number of fraction digits is the same as ISO 4217's minor unit for the currency. For example, the default number of fraction digits for the Euro is 2, while for the Japanese Yen it's 0. In the case of pseudo-currencies, such as IMF Special Drawing Rights, -1 is returned.

Return
Int the default number of fraction digits used with this currency

getDisplayName

Added in API level 19
fun getDisplayName(): String!

Gets the name that is suitable for displaying this currency for the default DISPLAY locale. If there is no suitable display name found for the default locale, the ISO 4217 currency code is returned.

This is equivalent to calling getDisplayName(Locale.getDefault(Locale.Category.DISPLAY)).

Return
String! the display name of this currency for the default DISPLAY locale

getDisplayName

Added in API level 19
fun getDisplayName(locale: Locale!): String!

Gets the name that is suitable for displaying this currency for the specified locale. If there is no suitable display name found for the specified locale, the ISO 4217 currency code is returned.

Parameters
locale Locale!: the locale for which a display name for this currency is needed
Return
String! the display name of this currency for the specified locale
Exceptions
java.lang.NullPointerException if locale is null

getInstance

Added in API level 1
static fun getInstance(currencyCode: String!): Currency!

Returns the Currency instance for the given currency code.

Parameters
currencyCode String!: the ISO 4217 code of the currency
Return
Currency! the Currency instance for the given currency code
Exceptions
java.lang.NullPointerException if currencyCode is null
java.lang.IllegalArgumentException if currencyCode is not a supported ISO 4217 code.

getInstance

Added in API level 1
static fun getInstance(locale: Locale!): Currency!

Returns the Currency instance for the country of the given locale. The language and variant components of the locale are ignored. The result may vary over time, as countries change their currencies. For example, for the original member countries of the European Monetary Union, the method returns the old national currencies until December 31, 2001, and the Euro from January 1, 2002, local time of the respective countries.

If the specified locale contains "cu" Unicode extensions, the instance returned from this method reflects the values specified with those extensions.

The method returns null for territories that don't have a currency, such as Antarctica.

Parameters
locale Locale!: the locale for whose country a Currency instance is needed
Return
Currency! the Currency instance for the country of the given locale, or null
Exceptions
java.lang.NullPointerException if locale is null
java.lang.IllegalArgumentException if the country of the given locale is not a supported ISO 3166 country code.

getNumericCode

Added in API level 24
fun getNumericCode(): Int

Returns the ISO 4217 numeric code of this currency.

Return
Int the ISO 4217 numeric code of this currency

getNumericCodeAsString

Added in API level 34
fun getNumericCodeAsString(): String!

Returns the 3 digit ISO 4217 numeric code of this currency as a String. Unlike getNumericCode(), which returns the numeric code as int, this method always returns the numeric code as a 3 digit string. e.g. a numeric value of 32 would be returned as "032", and a numeric value of 6 would be returned as "006".

Return
String! the 3 digit ISO 4217 numeric code of this currency as a String

getSymbol

Added in API level 1
fun getSymbol(): String!

Gets the symbol of this currency for the default DISPLAY locale. For example, for the US Dollar, the symbol is "$" if the default locale is the US, while for other locales it may be "US$". If no symbol can be determined, the ISO 4217 currency code is returned.

This is equivalent to calling getSymbol(Locale.getDefault(Locale.Category.DISPLAY)).

Return
String! the symbol of this currency for the default DISPLAY locale

getSymbol

Added in API level 1
fun getSymbol(locale: Locale!): String!

Gets the symbol of this currency for the specified locale. For example, for the US Dollar, the symbol is "$" if the specified locale is the US, while for other locales it may be "US$". If no symbol can be determined, the ISO 4217 currency code is returned.

Parameters
locale Locale!: the locale for which a display name for this currency is needed
Return
String! the symbol of this currency for the specified locale
Exceptions
java.lang.NullPointerException if locale is null

toString

Added in API level 1
fun toString(): String

Returns the ISO 4217 currency code of this currency.

Return
String the ISO 4217 currency code of this currency