Класс 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 для этой валюты. |
Подробное описание методов
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 "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 "rg" (переопределение региона) , символ, возвращаемый этим методом, соответствует значению, указанному в этом расширении.
- Требования к реализации:
- Эквивалентно вызову
getSymbol(Locale.getDefault(Locale.Category.DISPLAY)). - Возвращает:
- символ этой валюты для локали
DISPLAYпо умолчанию
getSymbol
public String getSymbol(Locale locale)
Если указанная locale содержит расширение 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Currency.html