Spec-Zone.ru › OpenJDK 25

Класс Currency

java.lang.Object
java.util.Currency
Все реализуемые интерфейсы:
Serializable
public final class Currency extends Object implements Serializable
Представляет валюту. Валюты идентифицируются кодами валют ISO 4217. Дополнительную информацию см. на веб-сайте ISO.

Класс спроектирован таким образом, что для каждой валюты всегда существует не более одного экземпляра 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
Внешние спецификации
  • ISO — ISO 4217 — Коды валют
См. также:
  • BigDecimal
  • Сериализованное представление

Краткое описание методов

Модификатор и тип Метод Описание
static Stream<Currency> availableCurrencies()
Возвращает поток доступных валют.
static Set<Currency> getAvailableCurrencies()
Возвращает набор доступных валют.
String getCurrencyCode()
Возвращает код валюты ISO 4217 для этой валюты.
int getDefaultFractionDigits()
Возвращает число дробных разрядов, используемое по умолчанию для этой валюты.
String getDisplayName()
Возвращает имя, подходящее для отображения этой валюты с использованием локали DISPLAY по умолчанию.
String getDisplayName(Locale locale)
Возвращает имя, подходящее для отображения этой валюты с использованием указанной локали.
static Currency getInstance(String currencyCode)
Возвращает экземпляр Currency для указанного кода валюты.
static Currency getInstance(Locale locale)
Возвращает экземпляр Currency для страны, указанной в заданной локали.
int getNumericCode()
Возвращает цифровой код валюты ISO 4217 для этой валюты.
String getNumericCodeAsString()
Возвращает трехзначный цифровой код валюты ISO 4217 для этой валюты в виде String.
String getSymbol()
Возвращает символ этой валюты для локали DISPLAY по умолчанию.
String getSymbol(Locale locale)
Возвращает символ этой валюты для указанной локали.
String toString()
Возвращает код валюты ISO 4217 для этой валюты.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание методов

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()
Возвращает набор доступных валют. Возвращаемый набор содержит все доступные валюты, в том числе валюты, соответствующие устаревшим кодам ISO 4217. Если в среде выполнения нет доступных валют, возвращаемый набор пуст. Набор можно изменять, не затрагивая доступные в среде выполнения валюты.
Примечание к API:
Рассмотрите возможность использования availableCurrencies(), который возвращает поток доступных валют.
Возвращает:
набор доступных валют
Начиная с версии:
1.7
См. также:
  • availableCurrencies()

availableCurrencies

public static Stream<Currency> availableCurrencies()
Возвращает поток доступных валют. Возвращаемый поток содержит все доступные валюты, в том числе валюты, соответствующие устаревшим кодам ISO 4217. Если в среде выполнения нет доступных валют, возвращаемый поток пуст.
Примечание по реализации:
В отличие от getAvailableCurrencies(), этот метод не создает защитную копию набора Currency.
Возвращает:
поток доступных валют
Начиная с версии:
25
См. также:
  • getAvailableCurrencies()

getCurrencyCode

public String getCurrencyCode()
Возвращает код валюты ISO 4217 для этой валюты.
Возвращает:
код валюты 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)
Возвращает символ этой валюты для указанной локали. Например, для доллара США символом будет "$", если указанная локаль — США, а для других локалей им может быть "US$". Если символ определить невозможно, возвращается код валюты ISO 4217.

Если указанная locale содержит расширение Unicode "rg" (переопределение региона) , символ, возвращаемый этим методом, соответствует значению, указанному в этом расширении.

Параметры:
locale — локаль, для которой требуется отображаемое имя этой валюты
Возвращает:
символ этой валюты для указанной локали
Исключения:
NullPointerException — если locale равен null

getDefaultFractionDigits

public int getDefaultFractionDigits()
Возвращает число дробных разрядов, используемое по умолчанию для этой валюты. Обратите внимание, что число дробных разрядов совпадает с количеством младших денежных единиц валюты по стандарту ISO 4217. Например, число дробных разрядов по умолчанию для евро равно 2, а для японской иены — 0. Для псевдовалют, таких как специальные права заимствования МВФ, возвращается -1.
Возвращает:
число дробных разрядов, используемое по умолчанию для этой валюты

getNumericCode

public int getNumericCode()
Возвращает цифровой код валюты ISO 4217 для этой валюты.
Возвращает:
цифровой код валюты ISO 4217 для этой валюты
Начиная с версии:
1.7

getNumericCodeAsString

public String getNumericCodeAsString()
Возвращает трехзначный цифровой код валюты ISO 4217 для этой валюты в виде 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)
Возвращает имя, подходящее для отображения этой валюты с использованием указанной локали. Если подходящее отображаемое имя для указанной локали не найдено, возвращается код валюты ISO 4217.
Параметры:
locale — локаль, для которой требуется отображаемое имя этой валюты
Возвращает:
отображаемое имя этой валюты для указанной локали
Исключения:
NullPointerException — если locale равен null
Начиная с версии:
1.7

toString

public String toString()
Возвращает код валюты ISO 4217 для этой валюты.
Переопределяет:
toString в классе Object
Возвращает:
код валюты ISO 4217 для этой валюты

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API