- java.lang.Object
-
- java.util.Currency
-
- すべての実装されたインタフェース:
Serializable
public final class Currency extends Object implements Serializable
通貨を表します。 通貨は、ISO 4217通貨コードで識別されます。 詳細は、ISOのWebサイトを参照してください。クラスは、指定された通貨の
Currencyインスタンスが複数存在しないように設計されています。 したがって、クラスにはpublicコンストラクタがありません。getInstanceメソッドを使用して、Currencyインスタンスを取得します。ユーザーは
java.util.currency.dataシステム・プロパティを使って、Javaランタイム通貨データを置き換えることができます。 このシステム・プロパティが定義されている場合、その値はプロパティ・ファイルの場所であり、そのファイル内容はISO 3166国コードとISO 4217通貨データからなるキーと値のペアです。 値の部分はISO 4217の3つの通貨の値、つまり、英字コード、数値コード、マイナー単位で構成されます。 これら3つのISO 4217の値はカンマで区切られています。 「#」で始まる行はコメント行としてみなされます。 ユーザーが切換え日を指定して新しいデータが有効になる時期を示す必要がある場合は、通貨エントリごとにオプションのUTCタイムスタンプを指定できます。 そのタイムスタンプは通貨プロパティの最後に追加され、区切り文字としてコンマを使用します。 UTC日付スタンプが存在し、有効である場合、JREでは、現在のUTC日付が、クラスのロード時に指定された日付よりも後にあるときにのみ、新しい通貨プロパティを使用します。 タイムスタンプのフォーマットは、ISO 8601形式の'yyyy-MM-dd'T'HH:mm:ss'である必要があります。 次に例を示します。#Sample currency properties
JP=JPZ,999,0日本の通貨データがこれに置き換わります。
#Sample currency properties with cutover date
JP=JPZ,999,0,2014-01-01T00:00:00Currencyクラスが2014年1月1日00:00:00 GMTより後にロードされる場合は、日本の通貨データがこれに置き換わります。構文的に不正な形式のエントリが検出された場合、そのエントリは無視され、ファイル内の残りのエントリは処理されます。 たとえば、国コード・エントリが重複して存在する場合、その
Currencyの通貨情報の動作は未定義であり、ファイル内の残りのエントリが処理されます。Currencyや金銭的な値を扱うときは、浮動小数点数とその操作をよりうまく処理できるので、BigDecimalクラスを使用することをお勧めします。- 導入されたバージョン:
- 1.4
- 関連項目:
BigDecimal、直列化された形式
-
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 static Set<Currency>getAvailableCurrencies()利用可能な通貨のセットを取得します。StringgetCurrencyCode()この通貨のISO 4217通貨コードを取得します。intgetDefaultFractionDigits()この通貨で使用される小数のデフォルトの桁数を取得します。StringgetDisplayName()デフォルトのDISPLAYロケールでこの通貨を表示するのに適した名前を取得します。StringgetDisplayName(Locale locale)指定されたロケールでこの通貨を表示するのに適した名前を取得します。static CurrencygetInstance(String currencyCode)指定された通貨コードのCurrencyインスタンスを返します。static CurrencygetInstance(Locale locale)指定されたロケールの国のCurrencyインスタンスを返します。intgetNumericCode()この通貨のISO 4217数値コードを返します。StringgetNumericCodeAsString()この通貨の3桁のISO 4217数値コードをStringとして返します。StringgetSymbol()デフォルトのDISPLAYロケールについて、その通貨の記号を取得します。StringgetSymbol(Locale locale)指定されたロケールでのこの通貨の記号を取得します。StringtoString()その通貨の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インスタンスを返します。 ロケールの言語コンポーネントおよびバリアント・コンポーネントは無視されます。 国によって通貨が変更されるので、時の経過とともに結果が変わる場合があります。 たとえば、欧州通貨統合のオリジナル・メンバーの国々の場合、2001年12月31日までは各国の従来の通貨、そして各国の現地時間の2002年1月1日からはメソッドはEuroを返します。指定された
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ドルについては、デフォルトのロケールがUSの場合は、記号は「$」になります。ほかのロケールの場合は、記号は「US$」になります。 記号を判断できない場合は、ISO 4217通貨コードを返します。デフォルトの
DISPLAYロケールに"rg" (リージョン・オーバーライド) 「Unicode拡張」が含まれている場合、このメソッドから返されたシンボルはその拡張で指定された値を反映します。これは、
getSymbol(Locale.getDefault(Locale.Category.DISPLAY))を呼び出すことと同等です。- 戻り値:
- デフォルトの
DISPLAYロケールでのこの通貨の記号
-
getSymbol
public String getSymbol(Locale locale)
指定されたロケールでのこの通貨の記号を取得します。 たとえば、USドルについては、指定されたロケールがUSの場合は、記号は「$」になります。ほかのロケールの場合は、記号は「US$」になります。 記号を判断できない場合は、ISO 4217通貨コードを返します。指定された
localeに"rg" (リージョン・オーバーライド) 「Unicode拡張」が含まれている場合、このメソッドから返されるシンボルは、その拡張で指定された値を反映します。- パラメータ:
locale- この通貨の表示名が必要なロケール- 戻り値:
- 指定されたロケールでのこの通貨の記号
- 例外:
NullPointerException-localeがnullである場合
-
getDefaultFractionDigits
public int getDefaultFractionDigits()
この通貨で使用される小数のデフォルトの桁数を取得します。 小数点の桁数は、通貨のISO 4217マイナー単位と同じです。 たとえば、ユーロの場合は小数のデフォルトの桁数は2で、日本円の場合は0です。 IMFの特別引出権のような、擬似通貨の場合は、-1を返します。- 戻り値:
- この通貨で使用される小数のデフォルトの桁数
-
getNumericCode
public int getNumericCode()
この通貨のISO 4217数値コードを返します。- 戻り値:
- その通貨のISO 4217数値コード
- 導入されたバージョン:
- 1.7
-
getNumericCodeAsString
public String getNumericCodeAsString()
この通貨の3桁のISO 4217数値コードをStringとして返します。intとして数値コードを返すgetNumericCode()とは異なり、このメソッドは常に数値コードを3桁の文字列として返します。たとえば32の数値が"032"として返され、6の数値が"006"として返されます。- 戻り値:
- この通貨の3桁の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
-
-