Spec-Zone.ru › OpenJDK 24

Класс Currency

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

Класс разработан таким образом, что для любой данной валюты существует не более одного Currency экземпляра. Поэтому нет публичного конструктора. Вы получаете экземпляр Currency, используя методы getInstance.

Пользователи могут заменить данные о валюте Java runtime с помощью системной переменной 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 по Гринвичу.

В случае обнаружения синтаксически неправильных записей, запись игнорируется, и обрабатываются оставшиеся записи в файле. В тех случаях, когда существуют дублирующиеся записи кода страны, поведение информации о валюте для этой Currency не определено, и обрабатываются оставшиеся записи в файле.

Если встречаются несколько записей свойств с одинаковым кодом валюты, но различными числовыми кодами и/или единицами меньшего разряда, эти записи игнорируются, и обрабатываются оставшиеся записи в файле.

Примечание API:
Рекомендуется использовать класс BigDecimal при работе с Currency или денежными значениями, так как он обеспечивает более эффективное управление числами с плавающей запятой и их операциями.
С:
1.4
Внешние спецификации
  • ISO — ISO 4217 — Коды валют
См. также:
  • BigDecimal
  • Сериализованная форма

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

Модификатор и тип Метод Описание
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 данной валюты.

Методы, объявленные в классе java.lang.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 содержит расширения «cu» и/или «rg» Unicode расширения, возвращаемый экземпляр отражает значения, заданные с помощью этих расширений. Если указаны оба расширения «cu» и «rg», валюта из расширения «cu» имеет приоритет над неявной валютой из расширения «rg».

Метод возвращает null для территорий, у которых нет валюты, например, Антарктиды.

Параметры:
locale - регион, для страны которого нужен экземпляр Currency
Возвращает:
экземпляр Currency для страны заданного региона или null
Исключения:
NullPointerException - если locale является null
IllegalArgumentException - если страна заданного locale не является поддерживаемым кодом ISO 3166.

getAvailableCurrencies

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

getCurrencyCode

public String getCurrencyCode()
Получает код валюты ISO 4217 этой валюты.
Возвращает:
код валюты ISO 4217 этой валюты.

getSymbol

public String getSymbol()
Получает символ этой валюты для локали по умолчанию DISPLAY. Например, для доллара США символ — «$», если локаль по умолчанию — США, а для других локалей — «US$». Если символ определить невозможно, возвращается код валюты ISO 4217.

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

Требования к реализации:
Это эквивалентно вызову getSymbol(Locale.getDefault(Locale.Category.DISPLAY)).
Возвращает:
символ этой валюты для локали по умолчанию DISPLAY

getSymbol

public String getSymbol(Locale locale)
Получает символ этой валюты для указанной локали. Например, для доллара США символ — «$», если указанная локаль — США, а для других локалей — «US$». Если символ определить невозможно, возвращается код валюты ISO 4217.

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

Параметры:
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 (3 цифры) в виде String. В отличие от getNumericCode(), который возвращает числовой код в виде int, этот метод всегда возвращает числовой код в виде строки из 3 цифр. Например, числовое значение 32 будет возвращено как "032", а числовое значение 6 — как "006".
Возвращает:
числовой код этой валюты по ISO 4217 (3 цифры) в виде 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 этой валюты

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/Currency.html

Spec-Zone.ru

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