Java : Currency (通貨) - API使用例

Currency (Java SE 18 & JDK 18) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様のおともにどうぞ。


概要

通貨を表します。 通貨は、ISO 4217通貨コードで識別されます。 詳細は、ISOのWebサイトを参照してください。

クラス構成

Currency クラスは、ロケール(言語、国・地域) に依存した通貨に関する情報を扱います。

System.out.println(Locale.getDefault()); // ja_JP

final var number = 1234;

{
    final var format = NumberFormat.getCurrencyInstance();
    System.out.println(format.format(number)); // ¥1,234

    final var currency = format.getCurrency();
    System.out.println(currency); // JPY
    System.out.println(currency.getDisplayName()); // 日本円
}
{
    final var format = NumberFormat.getCurrencyInstance(Locale.US);
    System.out.println(format.format(number)); // $1,234.00

    final var currency = format.getCurrency();
    System.out.println(currency); // USD
    System.out.println(currency.getDisplayName()); // 米ドル
}

メソッド

static Set<Currency> getAvailableCurrencies ()

利用可能な通貨のセットを取得します。

final var currencies = Currency.getAvailableCurrencies();

currencies.stream().map(Currency::getCurrencyCode).sorted().forEach(code -> {
    System.out.println(code);
});

// 結果
// ↓
//ADP
//AED
//AFA
//AFN
//ALL
//AMD
//ANG
//AOA
//... 省略 ...

String getCurrencyCode ()

この通貨のISO 4217通貨コードを取得します。

final var currency = Currency.getInstance(Locale.US);
System.out.println(currency.getCurrencyCode()); // USD
final var currency = Currency.getInstance(Locale.JAPAN);
System.out.println(currency.getCurrencyCode()); // JPY

int getDefaultFractionDigits ()

この通貨で使用される小数のデフォルトの桁数を取得します。

final var format = NumberFormat.getCurrencyInstance(Locale.US);
System.out.println(format.format(1234)); // $1,234.00

final var currency = format.getCurrency();
System.out.println(currency.getDefaultFractionDigits()); // 2
final var format = NumberFormat.getCurrencyInstance(Locale.JAPAN);
System.out.println(format.format(1234)); // ¥1,234

final var currency = format.getCurrency();
System.out.println(currency.getDefaultFractionDigits()); // 0

String getDisplayName ()

デフォルトのDISPLAYロケールでこの通貨を表示するのに適した名前を取得します。

System.out.println(Locale.getDefault()); // ja_JP

final var jpy = Currency.getInstance(Locale.JAPAN);
System.out.println(jpy.getDisplayName()); // 日本円
System.out.println(jpy.getDisplayName(Locale.US)); // Japanese Yen

final var usd = Currency.getInstance(Locale.US);
System.out.println(usd.getDisplayName()); // 米ドル
System.out.println(usd.getDisplayName(Locale.US)); // US Dollar

String getDisplayName (Locale locale)

指定されたロケールでこの通貨を表示するのに適した名前を取得します。

このメソッドの使用例は、getDisplayName() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

static Currency getInstance (String currencyCode)

指定された通貨コードのCurrencyインスタンスを返します。

System.out.println(Locale.getDefault()); // ja_JP

final var jpy = Currency.getInstance("JPY");
System.out.println(jpy.getDisplayName()); // 日本円

final var usd = Currency.getInstance("USD");
System.out.println(usd.getDisplayName()); // 米ドル

static Currency getInstance (Locale locale)

指定されたロケールの国のCurrencyインスタンスを返します。

final var usd = Currency.getInstance(Locale.US);
System.out.println(usd); // USD

final var jpy = Currency.getInstance(Locale.JAPAN);
System.out.println(jpy); // JPY

int getNumericCode ()

この通貨のISO 4217数値コードを返します。

final var currency = Currency.getInstance(Locale.US);
System.out.println(currency.getNumericCode()); // 840
System.out.println(currency.getNumericCodeAsString()); // 840
final var currency = Currency.getInstance(Locale.JAPAN);
System.out.println(currency.getNumericCode()); // 392
System.out.println(currency.getNumericCodeAsString()); // 392
final var currency = Currency.getInstance("AUD");
System.out.println(currency.getNumericCode()); // 36
System.out.println(currency.getNumericCodeAsString()); // 036

String getNumericCodeAsString ()

この通貨の3桁のISO 4217数値コードをStringとして返します。

このメソッドの使用例は、getNumericCode() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

String getSymbol ()

デフォルトのDISPLAYロケールについて、その通貨の記号を取得します。

System.out.println(Locale.getDefault()); // ja_JP

final var jpy = Currency.getInstance(Locale.JAPAN);
System.out.println(jpy.getSymbol()); // ¥
System.out.println(jpy.getSymbol(Locale.US)); // ¥

final var usd = Currency.getInstance(Locale.US);
System.out.println(usd.getSymbol()); // $
System.out.println(usd.getSymbol(Locale.US)); // $

String getSymbol (Locale locale)

指定されたロケールについて、その通貨の記号を取得します。

このメソッドの使用例は、getSymbol() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

String toString ()

その通貨のISO 4217通貨コードを返します。

final var currency = Currency.getInstance(Locale.US);
final var str = currency.toString();
System.out.println(str); // USD
final var currency = Currency.getInstance(Locale.JAPAN);
final var str = currency.toString();
System.out.println(str); // JPY

関連記事

ページの先頭へ