Класс Currency
- Все реализованные интерфейсы:
Serializable
public final class Currency extends Object implements Serializable
Класс разработан таким образом, что для каждой валюты существует не более одного экземпляра Currency. Поэтому у него нет открытого конструктора. Экземпляр Currency можно получить с помощью методов getInstance.
Пользователи могут переопределить данные о валютах среды выполнения Java с помощью системного свойства java.util.currency.data. Если это системное свойство определено, его значение указывает местоположение файла свойств, содержимое которого представляет собой пары ключ/значение с кодами стран ISO 3166 и данными о валютах ISO 4217 соответственно. Значение состоит из трех значений ISO 4217 для валюты: буквенного кода, цифрового кода и минорной единицы. Эти три значения ISO 4217 разделяются запятыми. Строки, начинающиеся с символа «#», считаются комментариями. Для каждой записи о валюте можно указать необязательную метку времени UTC, если пользователям необходимо задать дату перехода, указывающую, когда новые данные вступают в силу. Метка времени добавляется в конец свойств валюты и отделяется запятой. Если метка даты UTC указана и корректна, JRE будет использовать новые свойства валют только в том случае, если текущая дата UTC позже даты, указанной на момент загрузки класса. Формат метки времени должен соответствовать ISO 8601: 'yyyy-MM-dd'T'HH:mm:ss'. Например,
#Sample currency properties
JP=JPZ,999,0
переопределит данные о валюте Японии. Если JPZ — один из существующих кодов валют ISO 4217, используемых другими странами, существующие данные о валюте JPZ обновляются с указанным цифровым кодом и значением минорной единицы.
#Sample currency properties with cutover date
JP=JPZ,999,0,2014-01-01T00:00:00
переопределит данные о валюте Японии, если класс Currency загружен после 1 января 2014 года, 00:00:00 GMT.
Если встречаются синтаксически некорректные записи, такая запись игнорируется, а обработка остальных записей файла продолжается. Если в файле есть повторяющиеся записи с кодом страны, поведение информации о валюте для этого Currency не определено, а обработка остальных записей файла продолжается.
Если встречаются несколько записей свойства с одним и тем же кодом валюты, но разными цифровыми кодами и/или минорными единицами, такие записи игнорируются, а обработка остальных записей файла продолжается.
- Примечание к API:
- При работе с
Currencyили денежными значениями рекомендуется использовать классBigDecimal, поскольку он обеспечивает более точную обработку чисел с плавающей точкой и операций с ними. - С версии:
- 1.4
- Внешние спецификации
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static Stream |
availableCurrencies() |
Возвращает поток доступных валют. |
static Set |
getAvailableCurrencies() |
Возвращает набор доступных валют. |
String |
getCurrencyCode() |
Возвращает код валюты ISO 4217 для этой валюты. |
int |
getDefaultFractionDigits() |
Возвращает используемое по умолчанию количество дробных разрядов для этой валюты. |
String |
getDisplayName() |
Возвращает название этой валюты, подходящее для отображения в локали DISPLAY по умолчанию. |
String |
getDisplayName |
Возвращает название этой валюты, подходящее для отображения в указанной локали. |
static Currency |
getInstance |
Возвращает экземпляр Currency для указанного кода валюты. |
static Currency |
getInstance |
Возвращает экземпляр Currency для страны, указанной в заданной локали. |
int |
getNumericCode() |
Возвращает цифровой код ISO 4217 для этой валюты. |
String |
getNumericCodeAsString() |
Возвращает трехзначный цифровой код ISO 4217 для этой валюты в виде String. |
String |
getSymbol() |
Возвращает символ этой валюты для локали DISPLAY по умолчанию. |
String |
getSymbol |
Возвращает символ этой валюты для указанной локали. |
String |
toString() |
Возвращает код валюты ISO 4217 для этой валюты. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарело и будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс среды выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ждать до пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ждать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ждать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного промежутка реального времени. |
Подробное описание методов
getInstance
public static Currency getInstance(String currencyCode)
Currency для указанного кода валюты.- Параметры:
-
currencyCode— код валюты ISO 4217 - Возвращает:
- экземпляр
Currencyдля указанного кода валюты - Вызывает исключение:
-
NullPointerException— еслиcurrencyCodeравен null -
IllegalArgumentException— еслиcurrencyCodeне является поддерживаемым кодом ISO 4217.
getInstance
public static Currency getInstance(Locale locale)
Currency для страны, указанной в заданной локали. Компоненты языка и варианта локали игнорируются. Результат может меняться со временем, поскольку страны меняют свои валюты. Например, для стран, первоначально входивших в Европейский валютный союз, метод возвращает старые национальные валюты до 31 декабря 2001 года, а начиная с 1 января 2002 года — евро, исходя из местного времени соответствующих стран. Если указанная locale содержит расширения Unicode Unicode «cu» и/или «rg», возвращенный экземпляр учитывает значения, заданные этими расширениями. Если указаны оба расширения — «cu» и «rg», валюта из расширения «cu» имеет приоритет над неявно заданной валютой из расширения «rg».
Метод возвращает null для территорий, у которых нет валюты, например Антарктиды.
- Параметры:
-
locale— локаль, для страны которой требуется экземплярCurrency - Возвращает:
- экземпляр
Currencyдля страны, указанной в заданной локали, илиnull - Вызывает исключение:
-
NullPointerException— еслиlocaleравноnull -
IllegalArgumentException— если страна, указанная в заданнойlocale, не является поддерживаемым кодом страны ISO 3166.
getAvailableCurrencies
public static Set<Currency> getAvailableCurrencies()
- Примечание к API:
- Рассмотрите возможность использования
availableCurrencies(), который возвращает поток доступных валют. - Возвращает:
- набор доступных валют
- С версии:
- 1.7
- См. также:
availableCurrencies
public static Stream<Currency> availableCurrencies()
- Примечание по реализации:
- В отличие от
getAvailableCurrencies(), этот метод не создает защитную копию набораCurrency. - Возвращает:
- поток доступных валют
- С версии:
- 25
- См. также:
getCurrencyCode
public String getCurrencyCode()
- Возвращает:
- код валюты ISO 4217 для этой валюты.
getSymbol
public String getSymbol()
DISPLAY по умолчанию. Например, для доллара США символом будет «$», если локаль по умолчанию — США, а для других локалей это может быть «US$». Если определить символ не удается, возвращается код валюты ISO 4217. Если локаль DISPLAY по умолчанию содержит расширение Unicode Unicode «rg» (переопределение региона), возвращаемый этим методом символ учитывает значение, заданное этим расширением.
- Требования к реализации:
- Эквивалентно вызову
getSymbol(Locale.getDefault(Locale.Category.DISPLAY)). - Возвращает:
- символ этой валюты для локали
DISPLAYпо умолчанию
getSymbol
public String getSymbol(Locale locale)
Если указанная locale содержит расширение Unicode Unicode «rg» (переопределение региона), возвращаемый этим методом символ учитывает значение, заданное этим расширением.
- Параметры:
-
locale— локаль, для которой требуется отображаемое название этой валюты - Возвращает:
- символ этой валюты для указанной локали
- Вызывает исключение:
-
NullPointerException— еслиlocaleравен null
getDefaultFractionDigits
public int getDefaultFractionDigits()
- Возвращает:
- используемое по умолчанию количество дробных разрядов для этой валюты
getNumericCode
public int getNumericCode()
- Возвращает:
- цифровой код ISO 4217 для этой валюты
- С версии:
- 1.7
getNumericCodeAsString
public String getNumericCodeAsString()
String. В отличие от getNumericCode(), который возвращает цифровой код в виде int, этот метод всегда возвращает цифровой код в виде трехзначной строки. Например, числовое значение 32 будет возвращено как «032», а числовое значение 6 — как «006».- Возвращает:
- трехзначный цифровой код ISO 4217 для этой валюты в виде
String - С версии:
- 9
getDisplayName
public String getDisplayName()
DISPLAY по умолчанию. Если подходящее отображаемое название для локали по умолчанию не найдено, возвращается код валюты ISO 4217.- Требования к реализации:
- Эквивалентно вызову
getDisplayName(Locale.getDefault(Locale.Category.DISPLAY)). - Возвращает:
- отображаемое название этой валюты для локали
DISPLAYпо умолчанию - С версии:
- 1.7
getDisplayName
public String getDisplayName(Locale locale)
- Параметры:
-
locale— локаль, для которой требуется отображаемое название этой валюты - Возвращает:
- отображаемое название этой валюты для указанной локали
- Вызывает исключение:
-
NullPointerException— еслиlocaleравен null - С версии:
- 1.7
toString
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.