flash.globalizationDateTimeFormatter DateTimeFormatter クラスは、日付オブジェクトのロケールに依存したフォーマット、およびローカライズされた日付フィールド名へのアクセスを可能にします。Object DateTimeFormatter クラスは、日付オブジェクトのロケールに依存したフォーマット、およびローカライズされた日付フィールド名へのアクセスを可能にします。このクラスのメソッドは、オペレーティングシステムによって提供される関数と設定を使用します。

日付および時刻フォーマットを選択するには、事前定義のパターンを使用する方法とカスタムパターンを使用する方法の 2 種類の方法があります。 ほとんどの用途で、DateTimeStyle 定数(LONGMEDIUMNONE、または SHORT)で指定された事前定義のスタイルを使用します。これらの定数により、要求されたロケールのデフォルトパターンまたはユーザーのオペレーティングシステムに基づくデフォルトパターンが指定されます。

例えば、次のコードにより、デフォルトの短い日付フォーマットを使用して、日付文字列が作成されます。

var df:DateTimeFormatter = new DateTimeFormatter(LocaleID.DEFAULT, DateTimeStyle.SHORT, DateTimeStyle.NONE); var currentDate:Date = new Date(); var shortDate:String = df.format(currentDate);

このクラスのインスタンスが作成されると、要求されたロケールがオペレーティングシステムでサポートされている場合、要求されたロケールおよびコンストラクターの dateStyletimeStyle パラメーターの規則やデフォルトに基づいて、インスタンスのプロパティが設定されます。要求されたロケールを使用できない場合、プロパティは actualLocaleIDName プロパティを使用して取得できる代替またはデフォルトのシステムロケールに基づいて設定されます。

このクラスには、月の名前および曜日の名前のローカライズされた文字列を取得し、カレンダーピッカーやその他の同様のアプリケーションで使用できる週の最初の日を取得する追加のメソッドが含まれています。

ユーザー設定の使用、オペレーティングシステムによって提供されるフォーマットパターンの使用および要求したロケールがサポートされてない場合の代替ロケールの使用が原因となり、同じロケール ID を使用していても、ユーザーによって表示されるフォーマット結果が異なる場合があります。

次の例は、日付と時刻の値を表すストリングが、ロケールごとにどのようにフォーマットされるかを示します。この例の結果は、オペレーティングシステムやユーザー環境設定によって異なる場合があります。

この例では、英語(米国)、フランス語(フランス)、スペイン語(スペイン)のロケールを使用しています。

この例では、リストの各ロケールに対して、次の処理を行います。

  1. デフォルトのスタイル(長い dateStyle、長い timeStyle)を使用して DateTimeFormatter オブジェクトを作成します。
  2. デフォルトの長い日付スタイルを使用して現在の日付と時刻をフォーマットします。
  3. DateTimeStyle.NONE 定数および DateTimeStyle.SHORT 定数を使用して、時刻のみの短い日付スタイルに変更します。
  4. 時刻のみの短い日付スタイルを使用して現在の日付と時刻をフォーマットします。
package { import flash.display.Sprite; import flash.globalization.DateTimeFormatter; import flash.globalization.DateTimeStyle; public class DateTimeFormatterExample extends Sprite { private var localeList:Array = new Array("en-US", "fr-FR", "es-ES"); public function DateTimeFormatterExample() { var date:Date = new Date(); for each (var locale:String in localeList) { var dtf:DateTimeFormatter = new DateTimeFormatter(locale); trace('\n' + "LocaleID requested=" + dtf.requestedLocaleIDName + "; actual=" + dtf.actualLocaleIDName); var longDate:String = dtf.format(date); trace(longDate + " (" + dtf.getDateTimePattern() + ")"); dtf.setDateTimeStyles(DateTimeStyle.NONE, DateTimeStyle.SHORT); var shortDate:String = dtf.format(date); trace(shortDate + " (" + dtf.getDateTimePattern() + ")"); } } } }
次の例は、ユーザーによって選択されたパターンに基づいて、アプリケーションが日付をフォーマットする方法を示します。この例の結果は、オペレーティングシステムやユーザー環境設定によって異なる場合があります。

この例では、リストの各ロケールに対して、次の処理を行います。

  1. 入出力用のテキストフィールドを 3 つ作成します。
  2. 英語(米国)ロケールを使用して DateTimeFormatter オブジェクトを作成します。
  3. configureTextField() 関数を呼び出します。この関数はテキストフィールドの位置とサイズを設定し、patternField オブジェクトにイベントリスナーを追加します。
  4. ユーザーが patternField テキストフィールドにパターンを入力すると、そのパターンを使用して textInputHandler 関数が現在の日付と時刻をフォーマットし、その結果と lastOperationStatus 値を出力テキストフィールドに表示します。
package { import flash.display.Sprite; import flash.events.Event; import flash.globalization.DateTimeFormatter; import flash.text.*; public class DateTimePatternExample extends Sprite { private var patternField:TextField = new TextField(); private var resultField:TextField = new TextField(); private var statusField:TextField = new TextField(); private var date:Date = new Date(); private var dtf:DateTimeFormatter = new DateTimeFormatter("en-US"); private function configureTextField():void { patternField.type = TextFieldType.INPUT; patternField.width = 300; patternField.height = 20; patternField.background = true; patternField.border = true; resultField.y = 40; resultField.width = 300; resultField.height = 20; statusField.y = 80; statusField.width = 300; statusField.height = 20; addChild(patternField); addChild(resultField); addChild(statusField); patternField.addEventListener(Event.CHANGE,textInputHandler); } private function textInputHandler(event:Event):void { dtf.setDateTimePattern(patternField.text); statusField.text = dtf.lastOperationStatus; resultField.text = dtf.format(date); } public function DateTimePatternExample() { configureTextField(); } } }
actualLocaleIDNameDateTimeStyleDateTimeFormatter 指定されたロケールと提供された日付と時刻フォーマットスタイルの規則に基づいて、日付と時間をフォーマットするための新しい DateTimeFormatter オブジェクトを構築します。dateStyle または timeStyle パラメーターが有効な DateTimeStyle 定数でない場合。 ArgumentErrorArgumentErrordateStyle または timeStyle パラメーターが null の場合。 TypeErrorTypeErrorrequestedLocaleIDNameString日付または時刻フォーマットを決めるときに使用する優先ロケール ID 名。 dateStyleStringlong日付をフォーマットするときに使用するスタイルを指定します。この値は、DateTimeStyle クラスによって列挙される値のいずれかに対応します。
  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
timeStyleStringlong時間をフォーマットするときに使用するスタイルを指定します。この値は、DateTimeStyle クラスによって列挙される値のいずれかに対応します。
  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
指定されたロケールと提供された日付と時刻フォーマットスタイルの規則に基づいて、日付と時間をフォーマットするための新しい DateTimeFormatter オブジェクトを構築します。日付および時刻スタイルは、日付および時刻フォーマット パターンをオペレーティングシステムによる事前定義のロケールに依存したパターンに設定するために使用されます。

このコンストラクターは、現在のオペレーティングシステムが要求されたロケール ID 名をサポートしているかどうかを判別します。サポートされていない場合、代わりに代替のロケールが使用されます。代替のロケール ID の名前は、actualLocaleIDName プロパティから決めることができます。

requestedLocaleIDNamedateStyle または timeStyle パラメーターのいずれかに代替のパラメーターが使用されると、代替の種類を示すために lastOperationStatus プロパティが設定されます。

ユーザーの現在のオペレーティングシステムの環境設定に基づいてフォーマットするには、requestedLocaleIDName パラメーターの値 LocaleID.DEFAULT をコンストラクターに渡します。

コンストラクターが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

要求されたロケール ID 名を使用できない場合、lastOperationStatus は以下のいずれかに設定されます。

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

上記の警告および lastOperationStatus プロパティのその他の有効な値について詳しくは、LastOperationStatus クラスの説明を参照してください。

lastOperationStatusrequestedLocaleIDNameactualLocaleIDNameDateTimeStyleLastOperationStatusLocaleID
formatUTC UTC 時間として解釈される(dateUTC、dayUTC、fullYearUTC、hoursUTC、minutesUTC、monthUTC および secondsUTC などの Date オブジェクトの UTC コンポーネントを使用)Date オブジェクトの表示文字列を dateStyle、timeStyle 、または日付時刻パターンに基づいてフォーマットします。日付または時間の値を表すフォーマットされた文字列。 StringdateTimeDateフォーマットされる Date 値。 UTC 時間として解釈される(dateUTC、dayUTC、fullYearUTC、hoursUTC、minutesUTC、monthUTC および secondsUTC などの Date オブジェクトの UTC コンポーネントを使用)Date オブジェクトの表示文字列を dateStyle、timeStyle 、または日付時刻パターンに基づいてフォーマットします。フォーマットは、この DateTimeFormatter インスタンスに指定されたロケール ID と日付スタイルおよび時刻スタイル、またはカスタマイズされた日付パターンと時刻パターンの規則を使用して行われます。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

setDateTimeStyles()setDateTimePattern()getDateStyle()getTimeStyle()lastOperationStatusLastOperationStatus
format ユーザーのローカル時間として解釈される(date、day、fullYear、hours、minutes、month および seconds などの Date オブジェクトのローカル時間コンポーネントを使用)Date オブジェクトの表示文字列をフォーマットします。日付または時間の値を表すフォーマットされた文字列。 StringdateTimeDateフォーマットされる Date 値。 ユーザーのローカル時間として解釈される(date、day、fullYear、hours、minutes、month および seconds などの Date オブジェクトのローカル時間コンポーネントを使用)Date オブジェクトの表示文字列をフォーマットします。フォーマットは、この DateTimeFormatter インスタンスに指定されたロケール ID と日付スタイルおよび時刻スタイル、またはカスタマイズされた日付パターンと時刻パターンの規則を使用して行われます。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

setDateTimeStyles()setDateTimePattern()getDateStyle()getTimeStyle()lastOperationStatusLastOperationStatus
getAvailableLocaleIDNames このクラスでサポートされているすべてのロケール ID 名のリストが表示されます。このクラスでサポートされているすべてのロケール ID 名を含む文字列のベクトル。 このクラスでサポートされているすべてのロケール ID 名のリストが表示されます。

このクラスが現在のオペレーティングシステムでサポートされていない場合、このメソッドは null 値を返します。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatusLocaleID
getDateStyle DateTimeFormatter のこのインスタンスの日付スタイルを取得します。このフォーマッターの日付スタイル文字列。

有効な値:

  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
  • DateTimeStyle.CUSTOM
String
DateTimeFormatter のこのインスタンスの日付スタイルを取得します。 この日付スタイルは、オペレーティングシステムから事前定義の日付フォーマットパターンを取得するために使用されます。 日付スタイルの値は、DateTimeFormatter() コンストラクター、setDateTimeStyles() メソッドまたは setDateTimePattern() メソッドによって設定できます。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

setDateTimeStyles()setDateTimePattern()lastOperationStatusDateTimeStyleDateTimeFormatterLastOperationStatus
getDateTimePattern この DateTimeFormatter オブジェクトによって日付と時間をフォーマットするために使用されるパターン文字列を返します。この DateTimeFormatter オブジェクトによって日付と時間をフォーマットするために使用されるパターンを含む文字列。 String この DateTimeFormatter オブジェクトによって日付と時間をフォーマットするために使用されるパターン文字列を返します。

このパターンは次の 3 つの方法のいずれかで設定できます。

  1. コンストラクターで使用されている dateStyle および timeStyle パラメーターによる方法
  2. setDateTimeStyles() メソッドによる方法
  3. setDateTimePattern() メソッドによる方法

パターンシンタックスについて詳しくは、「setDateTimePattern() メソッド」を参照してください。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

DateTimeFormattersetDateTimeStyles()setDateTimePattern()lastOperationStatusLastOperationStatus
getFirstWeekday このロケールおよびカレンダーシステムの週の最初の日に対応する整数を返します。このロケールおよびカレンダーシステムの週の最初の日に対応する整数。 int このロケールおよびカレンダーシステムの週の最初の日に対応する整数を返します。値 0 は日曜日、1 は月曜日というように対応し、6 が土曜日に対応します。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatus
getMonthNames 現在のカレンダーシステムの月の名前を含むローカライズされた文字列のリストを取得します。nameStyle または context パラメータが null の場合。 TypeErrorTypeError指定されたロケール、名前スタイルおよびコンテキストの月の名前を含むローカライズされたストリングのベクトル。このベクトルのインデックス 0 における最初の要素は年の最初の月の名前、次の要素は年の 2 番目の月の名前というように続きます。 nameStyleStringfull使用される名前文字列のスタイルを示します。有効な値は次のとおりです。
  • DateTimeNameStyle.FULL
  • DateTimeNameStyle.LONG_ABBREVIATION
  • DateTimeNameStyle.SHORT_ABBREVIATION
contextStringstandaloneフォーマットされたストリングが使用されるコンテキストを示すコード。このコンテキストは、特定のロケールについてのみ影響を及ぼします。有効な値は次のとおりです。
  • DateTimeNameContext.FORMAT
  • DateTimeNameContext.STANDALONE
現在のカレンダーシステムの月の名前を含むローカライズされた文字列のリストを取得します。このリストの最初の要素は、年の最初の月の名前です。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusDateTimeNameContextDateTimeNameStyleLastOperationStatus
getTimeStyle DateTimeFormatter のこのインスタンスの時間スタイルを取得します。このフォーマッターの時間スタイル文字列。

有効な値:

  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
  • DateTimeStyle.CUSTOM
String
DateTimeFormatter のこのインスタンスの時間スタイルを取得します。この時間スタイルは、オペレーティングシステムから事前定義の時間フォーマットパターンを取得するために使用されます。 時間スタイルの値は、DateTimeFormatter() コンストラクター、setDateTimeStyles() メソッドまたは setDateTimePattern() メソッドによって設定できます。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

setDateTimeStyles()setDateTimePattern()lastOperationStatusDateTimeStyleDateTimeFormatterLastOperationStatus
getWeekdayNames 現在のカレンダーシステムの曜日の名前を含むローカライズされた文字列のリストを取得します。nameStyle または context パラメータが null の場合。 TypeErrorTypeError指定されたロケール、名前スタイルおよびコンテキストの月の名前を含むローカライズされたストリングのベクトル。このベクトルのインデックス 0 における最初の要素は日曜日の名前、次の要素は月曜日の名前というように続きます。 nameStyleStringfull使用される名前文字列のスタイルを示します。有効な値は次のとおりです。
  • DateTimeNameStyle.FULL
  • DateTimeNameStyle.LONG_ABBREVIATION
  • DateTimeNameStyle.SHORT_ABBREVIATION
contextStringstandaloneフォーマットされたストリングが使用されるコンテキストを示すコード。このコンテキストは、コンテキストに応じて月の名前表示が変わる特定のロケールにのみ適用されます。例えば、ギリシャ語では、月の名前だけを表示する場合と、月と日にちを表示する場合では、月名の表示が異なります。有効な値は次のとおりです。
  • DateTimeNameContext.FORMAT
  • DateTimeNameContext.STANDALONE
現在のカレンダーシステムの曜日の名前を含むローカライズされた文字列のリストを取得します。リストの最初の要素は、日曜日の名前を表しています。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusDateTimeNameContextDateTimeNameStyleLastOperationStatus
setDateTimePattern この DateTimeFormatter オブジェクトで日付と時間をフォーマットするために使用するパターン文字列を設定します。パターンパラメーターが null の場合。 TypeErrorTypeErrorpatternString この DateTimeFormatter オブジェクトで日付と時間をフォーマットするために使用するパターン文字列を設定します。

日付をフォーマットするために使用されるパターンは次の 3 つの方法のいずれかで設定できます。

  1. コンストラクターで使用されている dateStyle および timeStyle パラメーターによる方法
  2. setDateTimeStyles() メソッドによる方法
  3. setDateTimePattern() メソッドによる方法

このメソッドの副作用として、この DateTimeFormatter オブジェクトの現在の時間および日付スタイルが無効になり、値 DateTimeStyle.CUSTOM に設定されます。

パターンストリングにより、日付と時間をフォーマットする方法が定義されます。パターンには、フォーマットされたストリングで日付および時間の値に置き換えられる文字シーケンスが含まれます。例えば、「yyyy/MM」というパターンでは、「yyyy」という文字列が 4 桁の年に置き換えられ、その後に「/」が続き、「MM」という文字列が 2 桁の月に置き換えられます。

パターンで使用される文字の多くは、以下の表に示したように、2 回以上繰り返し使用して、様々な出力を生み出すことができます。

シーケンスがパターンでサポートされている文字の最大数を超えると、そのパターン文字でサポートされている最も長いシーケンスに戻って割り当てられます。次に実際の使用例を示します。

  • MMMMMM は MMMM に置き換えられます
  • dddd は dd に置き換えられます
  • EEEEEEE は EEEE に置き換えられます
  • aa は a に置き換えられます
  • hhh は hh に置き換えられます
  • mmmm は mm に置き換えられます

理論的には、パターンには最大 255 文字まで含むことができますが、さらに制限の厳しいプラットフォームもあります。パターンがパターン文字数制限を超えると、lastOperationStatus プロパティは値 LastOperationStatus.PATTERN_SYNTAX_ERROR に設定されます。

各オペレーティングシステムで有効なパターンがすべてサポートされているわけではありません。パターンがプラットフォームでサポートされていない場合、代替パターンが使用され、代替パターンが使用されていることを示すように lastOperationStatus プロパティが設定されます。適切な代替パターンを使用できない場合、空のストリングが使用され、パターンがサポートされていないことを示すように lastOperationStatus プロパティが設定されます。

次の表は有効なパターン文字とその意味を示しています。

パターン文字説明G紀元です。現在の日付およびカレンダーの紀元文字列に置き換えられます。このパターンは、すべてのオペレーティングシステムでサポートされているわけではありません。紀元をサポートしないオペレーティングシステムでは、入力パターンの文字が空のストリングに置き換えられます。

次のように解釈される紀元のパターンには 1~5 文字を含むことができます。

  • パターン文字の数が 1~3 文字の場合、短縮形が使用されます。
  • パターン文字の数が 4 つの場合、形式は省略形でない形式として解釈されます。
  • パターン文字の数が 5 つの場合、形式は短い省略形として解釈されます。

グレゴリオ暦の例(このパターンをサポートするオペレーティングシステム):

  • G、GG、GGG = AD
  • GGGG = Anno Domini
  • GGGGG = A
y年です。パターン文字の数が 2 の場合、年の最後の 2 桁が表示され、それ以外の場合、桁数は文字数によって決まります。年の値に文字数によって提供されるよりも多くの桁数が必要な場合、省略形でない年の値が提供されます。 値によって要求されるよりも多くの文字がある場合、年の値はゼロで桁揃えされます。次のリストは、1 および 2005 年の結果を示しています。

例:

  • y = 1
  • y = 2005
  • yy = 01
  • yy = 05
  • yyyy = 0001 または 01 (オペレーティングシステムによって変わります)。
  • yyyy = 2005
  • yyyyy = 01 または 0001 (オペレーティングシステムによって変わります)。y が 4 を超える場合、オペレーティングシステムでサポートされている最大桁数に置き換えられます。
  • yyyyy = 2005
M 月です。 次のように解釈される月のパターンには 1~5 文字を含めることができます。
  • パターン文字の数が 1 つの場合、形式は 1 桁または 2 桁の数値として解釈されます。
  • パターン文字の数が 2 つの場合、形式は 2 桁の数値として解釈されます。
  • パターン文字の数が 3 つの場合、形式は長い省略形として解釈されます。
  • パターン文字の数が 4 つの場合、形式は省略形でない名前として解釈されます。
  • パターン文字の数が 5 つの場合、形式は短い省略形として解釈されます。この形式は、すべてのオペレーティングシステムでサポートされているわけではなく、長い省略形に置き換えられます。

例:

  • M = 7
  • MM = 07
  • MMM = Jul、7月
  • MMMM = July、7月
  • MMMMM = J または Jul、7 または 7月 (オペレーティングシステムによって変わります)。
d 日です。次のように解釈される月のパターンには 1~2 文字を含めることができます。
  • パターン文字の数が 1 つの場合、形式は 1 桁または 2 桁の数値として解釈されます。
  • パターン文字の数が 2 つの場合、形式は 2 桁の数値として解釈されます。

例:

  • d = 4
  • dd = 04
  • dd = 14
E曜日です。 次のように解釈される曜日のパターンには 1~5 文字を含めることができます。
  • パターン文字の数が 1~3 の場合、形式は長い省略形として解釈されます。
  • パターン文字の数が 4 つの場合、形式は省略形でない名前として解釈されます。
  • パターン文字の数が 5 つの場合、形式は短い省略形として解釈されます。この形式は、すべてのオペレーティングシステムでサポートされているわけではなく、長い省略形に置き換えられます。

例:

  • E、EE、EEE = Tues
  • EEEE = Tuesday
  • EEEEE = T または Tues (オペレーティングシステムによって変わります)。
Q四半期です。プラットフォームの中には、このパターンをサポートしていないものがあります。次のように解釈される四半期のパターンには 1~4 文字を含めることができます。
  • パターン文字の数が 1 つの場合、形式は 1 桁の数値として解釈されます。
  • パターン文字の数が 2 つの場合、形式は 2 桁の数値として解釈されます。
  • パターン文字の数が 3 つの場合、形式は省略形として解釈されます。
  • パターン文字の数が 4 つの場合、形式は省略形でない名前として解釈されます。

例(このパターンをサポートするオペレーティングシステムの場合):

  • Q = 2
  • QQ = 02
  • QQQ = Q2
  • QQQQ = 第 2 四半期
w年間通算週です。プラットフォームの中には、このパターンをサポートしていないものがあります。次のように解釈されるこのパターンには 1~2 文字を含めることができます。
  • パターン文字の数が 1 つの場合、形式は 1 桁または 2 桁の数値として解釈されます。
  • パターン文字の数が 2 つの場合、形式は 2 桁の数値として解釈されます。

年間第 2 週の例(このパターンをサポートするオペレーティングシステムの場合):

  • w = 2
  • ww = 02
W月間通算週です。プラットフォームの中には、このパターンをサポートしていないものがあります。このパターンで使用できるのは 1 文字のみです。

7 月第 2 週の例(このパターンをサポートするオペレーティングシステムの場合):

  • W = 2
D年間通算日です。プラットフォームの中には、このパターンをサポートしていないものがあります。このパターンで使用できるのは 1~3 文字です。

年間 2 日目の例(このパターンをサポートするオペレーティングシステムの場合):

  • D = 2
  • DD = 02
  • DDD = 002
Fカレンダー月内の曜日の位置です。例えば、この要素を使用して、10 月の第 3 月曜日の日付をフォーマットする場合は「3」と表示されます。このパターンで使用できるのは 1 文字のみです。

7 月第 2 水曜日の例(このパターンをサポートするオペレーティングシステムの場合):

  • F = 2
a午前 / 午後を表します。このパターンで使用できるのは、a か p の一文字だけです。

例:

  • a = AM, 午前
  • p = PM, 午後
h12 時間形式の時間(1~12)です。 このパターンは 1~2 文字になります。

例:

  • h = 1
  • h = 12
  • hh = 01
H24 時間形式の時間(0~23)です。 このパターンは 1~2 文字になります。

例:

  • H = 0
  • H = 23
  • HH = 00
K12 時間形式の時間(0~11)です。 このパターンは 1~2 文字になります。このパターンは、すべてのオペレーティングシステムでサポートされているわけではありません。

例(このパターンをサポートするオペレーティングシステムの場合):

  • K = 0
  • K = 11
  • KK = 00
k24 時間形式の時間(1~24)です。 このパターンは 1~2 文字になります。このパターンは、すべてのオペレーティングシステムでサポートされているわけではありません。

例(このパターンをサポートするオペレーティングシステムの場合):

  • k = 1
  • k = 24
  • kk = 01
m1 時間内の分(0~59)です。このパターンは 1~2 文字になります。

例:

  • m = 2
  • m = 59
  • mm = 02
s1 分内の秒(0~59)です。このパターンは 1~2 文字になります。

例:

  • s = 2
  • s = 59
  • ss = 02
Sミリ秒です。このパターンは 1~5 文字になります。この値は、使用される文字数に従って丸められます。5 文字(SSSSS)を使用すると、少数桁のミリ秒を表します。

例:

  • S = 2
  • SS = 24
  • SSS = 235
  • SSSS = 2350
  • SSSSS = 23500
zタイムゾーンです。タイムゾーンを、特定の場所を参照することなく、標準時または夏時間を参照する文字列として表示します。このパターンは、すべてのオペレーティングシステムでサポートされているわけではありません。タイムゾーンパターンをサポートしないオペレーティングシステムでは、入力パターンの文字列は空のストリングに置き換えられます。このパターンをサポートするオペレーティングシステムでは、すべてのロケールに定義されたストリングがあるわけではありません。それらのロケールは、GMT-08:00 や GW-08:00 などの GMT フォーマットに置き換えられます。

このタイムゾーンのパターンでは 1~4 文字を使用し、次のように解釈されます。

  • パターン文字の数が 1~3 の場合、形式は省略形として解釈されます。
  • パターン文字の数が 4 つの場合、形式は省略形でない名前として解釈されます。

この形式をサポートするオペレーティングシステムの例:

  • z、zz、zzz = PDT
  • z、zz、zzz = PST
  • z、zz、zzz = GMT-0800
  • zzzz = 太平洋夏時間
  • zzzz = 太平洋標準時
Zタイムゾーンです。タイムゾーンを GMT からのオフセットとして表します。 このパターンは、すべてのオペレーティングシステムでサポートされているわけではありません。タイムゾーンパターンをサポートしないオペレーティングシステムでは、入力パターンの文字列は空のストリングに置き換えられます。

このタイムゾーンのパターンでは 1~4 文字を使用し、次のように解釈されます。

  • パターン文字の数が 1~3 の場合、形式は RFC 822 フォーマットを使用します。
  • パターン文字の数が 4 つの場合、形式はローカライズされた GMT フォーマットを使用します。ローカライズされた GMT フォーマットのないロケールの場合、これはローカライズされていない GMT フォーマットに置き換えられます。

この形式をサポートするオペレーティングシステムの例:

  • Z、ZZ、ZZZ = -0800
  • ZZZZ = GMT-08:00、GW-08:00
vタイムゾーンです。特定の場所を参照したり、夏時間と標準時間とを区別したりしない汎用タイムゾーンを反映する文字列です。このパターンは、すべてのオペレーティングシステムでサポートされているわけではありません。タイムゾーンパターンをサポートしないオペレーティングシステムでは、入力パターンの文字列は空のストリングに置き換えられます。このパターンをサポートするオペレーティングシステムでは、ローカライズされた名前を使用できない場合、代替のストリングが提供されます。

このタイムゾーンのパターンでは 1~4 文字を使用し、次のように解釈されます。

  • パターン文字の数が 1 つの場合、形式は省略形を使用します。
  • パターン文字の数が 4 つの場合、形式は省略形でない形式を使用します。

この形式をサポートするオペレーティングシステムの例:

  • v = PT
  • vvvv = 太平洋標準時
'その他のテキスト'パターン文字列には、テキストおよび句読点が含まれる場合があります。ただし、a~z および A~Z の文字は構文文字として予約され、フォーマットされた文字列に含めるために一重引用符で囲む必要があります。結果文字列に一重引用符を含めるには、パターン文字列に 2 つの一重引用符を含める必要があります。2 つの一重引用符をパターンストリングの引用された部分の内側または外側に表示できます。一重引用符のペアが対応しない場合、ストリングの最後で終了します。

例:

  • EEEE, MMM. d, yyyy 'at' h 'o''clock' a= Tuesday, Sept. 8, 2005 at 1 o'clock PM
  • yyyy年M月d日 = 2005年9月8日
  • mm''ss'' = 43'01'

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

DateTimeFormattersetDateTimeStyles()setDateTimePattern()lastOperationStatusLastOperationStatus
setDateTimeStyles DateTimeFormatter のこのインスタンスの日付および時刻スタイルを設定します。dateStyle または timeStyle パラメーターが有効な DateTimeStyle 定数でない場合。 ArgumentErrorArgumentErrordateStyle または timeStyle パラメーターが null の場合。 TypeErrorTypeErrordateStyleString日付をフォーマットするときに使用するスタイルを指定します。この値は、DateTimeStyle クラスによって列挙される値のいずれかに対応します。
  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
timeStyleString時間をフォーマットするときに使用するスタイルを指定します。この値は、DateTimeStyle クラスによって列挙される値のいずれかに対応します。
  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
DateTimeFormatter のこのインスタンスの日付および時刻スタイルを設定します。日付および時刻スタイルは、日付および時刻フォーマット パターンをオペレーティングシステムによる事前定義のロケールに依存したパターンに設定するために使用されます。このメソッドにより、DateTimeFormatter() コンストラクターまたは setDateTimePattern() メソッドを使用して設定されたスタイルが置き換えられます。日付および時刻パターンは設定されたスタイルによっても更新されます。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

DateTimeFormatter()setDateTimeStyles()setDateTimePattern()lastOperationStatusDateTimeStyleLastOperationStatus
actualLocaleIDName この DateTimeFormatter オブジェクトで使用される実際のロケール ID の名前。String この DateTimeFormatter オブジェクトで使用される実際のロケール ID の名前。

オペレーティングシステムおよび Collator() コンストラクターに渡される requestedLocaleIDName パラメーターの値に応じて、この名前の値には 3 つの可能性があります。

  1. 要求されたロケールが LocaleID.DEFAULT ではなく、要求されたロケールをオペレーティングシステムがサポートする場合、返される名前は requestedLocaleIDName プロパティと同じです。
  2. LocaleID.DEFAULT がコンストラクターに対する requestedLocaleIDName パラメーターの値として使用された場合、ユーザーのオペレーティングシステムによって指定された現在のロケールの名前が使用されます。LocaleID.DEFAULT 値により、ユーザーのカスタマイズした設定が OS に保持されます。requestedLocaleIDName パラメーターとして明示的な値を渡した場合に、2 つのロケール ID 名が同じでも LocaleID.DEFAULT を使用する場合と同じ結果になるとは限りません。ユーザーがマシンのロケール設定をカスタマイズし、LocaleID.DEFAULT を使用するのではなく、明示的なロケール ID 名を要求した場合、アプリケーションがそれらのカスタマイズされた設定を取得しない場合があります。

    次に実際の使用例を示します。

    var fmt:DateTimeFormatter = new DateTimeFormatter(LocaleID.DEFAULT); var aliName:String = fmt.actualLocaleIDName;

    上の例では、aliName はユーザーの現在のオペレーティングシステムの設定に対応するロケールの名前(例えば、ユーザーのロケールが「イタリア語 - イタリア」に設定されている場合、「it-IT」)になり、「i-default」(LocaleID.DEFAULT ロケールの名前)にはなりません。

  3. システムがコンストラクターで指定された requestedLocaleIDName をサポートしていない場合、代替のロケール ID 名が提供されます。

    次に例を示します。

    var fmt:DateTimeFormatter = new DateTimeFormatter("fr-CA"); var aliName:String = fmt.actualLocaleIDName;

    上の例のオペレーティングシステムが「fr-CA」(フランス語 - カナダ)ロケール ID をサポートしていないと仮定すれば、代替のロケール ID が使用されます。この場合、代替ロケール ID は「fr-FR」(フランス語 - フランス)です。

LocaleIDrequestedLocaleIDNameDateTimeFormatter()
lastOperationStatus この DateTimeFormatter オブジェクトが実行した前の操作のステータス。String この DateTimeFormatter オブジェクトが実行した前の操作のステータス。コンストラクターまたはこのクラスのメソッドが呼び出されたり、別のプロパティが設定されたりすると、必ず lastOperationStatus プロパティが設定されます。有効な値については、各メソッドの説明を参照してください。 LastOperationStatusrequestedLocaleIDName この DateTimeFormatter オブジェクトのコンストラクターに渡された、要求されたロケール ID の名前。String この DateTimeFormatter オブジェクトのコンストラクターに渡された、要求されたロケール ID の名前。

LocaleID.DEFAULT 値が使用された場合、返される名前は「i-default」です。代替のロケールが適用される場合、実際に使用されるロケールは要求されたロケールと異なる場合があります。 実際のロケール名は actualLocaleIDName プロパティを使用して取得できます。

LocaleIDactualLocaleIDNameDateTimeFormatter()
LastOperationStatus LastOperationStatus クラスは、最近のほとんどのグローバリゼーションサービス操作のステータスを表す定数値を列挙します。Object LastOperationStatus クラスは、最近のほとんどのグローバリゼーションサービス操作のステータスを表す定数値を列挙します。これらの値は、ほとんどの globalization クラスで使用できる読み取り専用プロパティ lastOperationStatus によって取得できます。 BUFFER_OVERFLOW_ERROR 所定のバッファが結果を保持するのに十分でないことを示します。bufferOverflowErrorString 所定のバッファが結果を保持するのに十分でないことを示します。 ERROR_CODE_UNKNOWN リターンエラーコードが不明であることを示します。errorCodeUnknownString リターンエラーコードが不明であることを示します。操作が正しく実行されず、リターンエラーコードが返されると、非静的メソッドまたは読み取り / 書き込みプロパティにより、このエラーが返される場合があります。 ILLEGAL_ARGUMENT_ERROR メソッドに渡された引数が不正であることを示しています。illegalArgumentErrorString メソッドに渡された引数が不正であることを示しています。

例えば、次のコードは CurrencyFormatter.grouping プロパティが無効な値「3;」に設定されると、無効な引数エラーステータスが設定されることを示しています。

var cf:CurrencyFormatter = new CurrencyFormatter("en-US"); cf.groupingPattern = "3;"; trace(cf.lastOperationStatus); // "illegalArgumentError"
INDEX_OUT_OF_BOUNDS_ERROR イテレーターが範囲を超えたか、または月、日または時間に無効なパラメーターが指定されたことを示しています。indexOutOfBoundsErrorString イテレーターが範囲を超えたか、または月、日または時間に無効なパラメーターが指定されたことを示しています。 INVALID_ATTR_VALUE 所定の属性値が予期された範囲外であることを示しています。invalidAttrValueString 所定の属性値が予期された範囲外であることを示しています。

次の例は、NumberFormatter.negativeNumberFormat プロパティを範囲外の値に設定したために、無効な属性値ステータスになっていることを示しています。

var nf:NumberFormatter = new NumberFormatter(LocaleID.DEFAULT); nf.negativeNumberFormat = 9; nf.lastOperationStatus; // "invalidAttrValue"
INVALID_CHAR_FOUND 無効な Unicode 値が見つかったことを示しています。invalidCharFoundString 無効な Unicode 値が見つかったことを示しています。 MEMORY_ALLOCATION_ERROR メモリ割り当てが失敗したことを示しています。memoryAllocationErrorString メモリ割り当てが失敗したことを示しています。 NO_ERROR 最後の操作がエラーがなく成功したことを示しています。noErrorString 最後の操作がエラーがなく成功したことを示しています。このステータスは、すべてのコンストラクター、非静的メソッド、静的メソッドおよび読み取り / 書き込みプロパティで返される可能性があります。 NUMBER_OVERFLOW_ERROR 操作の結果の値が指定された数値型を超えたことを示しています。numberOverflowErrorString 操作の結果の値が指定された数値型を超えたことを示しています。 PARSE_ERROR 数字の解析が失敗したことを示しています。parseErrorString 数字の解析が失敗したことを示しています。このステータスは、CurrencyFormatter.parse() および NumberFormatter.parseNumber() などのフォーマッタークラスのメソッドを解析すると返されることがあります。例えば、「12abc34」という値をパラメーターとして CurrencyFormatter.parse() メソッドに渡すと、メソッドによって「NaN」が返され、lastOperationStatus の値が LastOperationStatus.PARSE_ERROR に設定されます。 PATTERN_SYNTAX_ERROR 数字、日付、または時間のフォーマットのパターンが無効であることを示しています。patternSyntaxErrorString 数字、日付、または時間のフォーマットのパターンが無効であることを示しています。このステータスは、ユーザーのオペレーティングシステムで、特定のパターンがサポートされていない場合に設定されます。

例えば、次のコードは無効な「xx」パターンの後に lastOperationStatus プロパティの値が日付フォーマットに使用されていることを示しています。

var df:DateTimeFormatter = new DateTimeFormatter("en-US"); df.setDateTimePattern("xx"); trace(df.lastOperationStatus); // "patternSyntaxError"
PLATFORM_API_FAILED 基盤となるプラットフォーム API が操作に失敗したことを示しています。platformAPIFailedString 基盤となるプラットフォーム API が操作に失敗したことを示しています。 TRUNCATED_CHAR_FOUND 切り詰められた Unicode 文字値が見つかったことを示しています。truncatedCharFoundString 切り詰められた Unicode 文字値が見つかったことを示しています。 UNEXPECTED_TOKEN ロケール ID 文字列で予期せぬトークンが検出されたことを示しています。unexpectedTokenString ロケール ID 文字列で予期せぬトークンが検出されたことを示しています。

例えば、不完全な文字列の後に lastOperationStatus プロパティの値がロケール ID を要求するときに使用されていることを示しています。結果として、LocaleID.getKeysAndValues() メソッドへの呼び出しの後で、lastOperationStatus プロパティが LocaleID.getKeysAndValues() メソッドに設定されます。

var locale:LocaleID = new LocaleID("en-US@Collation"); var kav:Object = locale.getKeysAndValues(); trace(locale.lastOperationStatus); // "unexpectedToken"
UNSUPPORTED_ERROR 要求された操作またはオプションがサポートされていないことを示しています。unsupportedErrorString 要求された操作またはオプションがサポートされていないことを示しています。このステータスは、DateTimeFormatter.setDateTimePattern() のようなメソッドを使用した場合やCollator.ignoreCase のようなプロパティを取得したときに返されることがあります。 USING_DEFAULT_WARNING 一番最近の操作中にオペレーティングシステムのデフォルト値が使用されたことを示します。usingDefaultWarningString 一番最近の操作中にオペレーティングシステムのデフォルト値が使用されたことを示します。クラスコンストラクターがこのステータスを返すことができます。 USING_FALLBACK_WARNING 一番最近の操作中に代替値が設定されたことを示します。usingFallbackWarningString 一番最近の操作中に代替値が設定されたことを示します。このステータスは、コンストラクターおよび DateTimeFormatter.setDateTimeStyles() のようなメソッドを使用した場合や CurrencyFormatter.groupingPattern のようなプロパティを取得したときに返されることがあります。
NationalDigitsType NationalDigitsType クラスは、NumberFormatter クラスで使用される数字セットを示す定数を列挙します。Object NationalDigitsType クラスは、NumberFormatter クラスで使用される数字セットを示す定数を列挙します。各定数の値は、指定した十進数セットのゼロ桁に対する Unicode 値を表します。 ARABIC_INDIC アラビア語-インド数字セットのゼロ桁の Unicode 値を表します。0x0660uint アラビア語-インド数字セットのゼロ桁の Unicode 値を表します。 BALINESE バリ語数字セットのゼロ桁の Unicode 値を表します。0x1B50uint バリ語数字セットのゼロ桁の Unicode 値を表します。 BENGALI ベンガル語数字セットのゼロ桁の Unicode 値を表します。0x09E6uint ベンガル語数字セットのゼロ桁の Unicode 値を表します。 CHAM チャム語数字セットのゼロ桁の Unicode 値を表します。0xAA50uint チャム語数字セットのゼロ桁の Unicode 値を表します。 DEVANAGARI デーバナーバリ語数字セットのゼロ桁の Unicode 値を表します。0x0966uint デーバナーバリ語数字セットのゼロ桁の Unicode 値を表します。 EUROPEAN ラテン語 1(西欧)数字セットのゼロ桁の Unicode 値を表します。0x0030uint ラテン語 1(西欧)数字セットのゼロ桁の Unicode 値を表します。 EXTENDED_ARABIC_INDIC 拡張アラビア語-インド数字セットのゼロ桁の Unicode 値を表します。0x06F0uint 拡張アラビア語-インド数字セットのゼロ桁の Unicode 値を表します。 FULL_WIDTH 全角形数字セットのゼロ桁の Unicode 値を表します。0xFF10uint 全角形数字セットのゼロ桁の Unicode 値を表します。 GUJARATI グジャラート語数字セットのゼロ桁の Unicode 値を表します。0x0AE6uint グジャラート語数字セットのゼロ桁の Unicode 値を表します。 GURMUKHI グルムキー語数字セットのゼロ桁の Unicode 値を表します。0x0A66uint グルムキー語数字セットのゼロ桁の Unicode 値を表します。 KANNADA カンナダ語数字セットのゼロ桁の Unicode 値を表します。0x0CE6uint カンナダ語数字セットのゼロ桁の Unicode 値を表します。 KAYAH_LI カヤー語数字セットのゼロ桁の Unicode 値を表します。0xA900uint カヤー語数字セットのゼロ桁の Unicode 値を表します。 KHMER クメール語数字セットのゼロ桁の Unicode 値を表します。0x17E0uint クメール語数字セットのゼロ桁の Unicode 値を表します。 LAO ラオ語数字セットのゼロ桁の Unicode 値を表します。0x0ED0uint ラオ語数字セットのゼロ桁の Unicode 値を表します。 LEPCHA レプチャ語数字セットのゼロ桁の Unicode 値を表します。0x1C40uint レプチャ語数字セットのゼロ桁の Unicode 値を表します。 LIMBU リンブ語数字セットのゼロ桁の Unicode 値を表します。0x1946uint リンブ語数字セットのゼロ桁の Unicode 値を表します。 MALAYALAM マラヤーラム語数字セットのゼロ桁の Unicode 値を表します。0x0D66uint マラヤーラム語数字セットのゼロ桁の Unicode 値を表します。 MONGOLIAN モンゴル語数字セットのゼロ桁の Unicode 値を表します。0x1810uint モンゴル語数字セットのゼロ桁の Unicode 値を表します。 MYANMAR_SHAN ビルマ シャン語数字セットのゼロ桁の Unicode 値を表します。0x1090uint ビルマ シャン語数字セットのゼロ桁の Unicode 値を表します。 MYANMAR ビルマ語数字セットのゼロ桁の Unicode 値を表します。0x1040uint ビルマ語数字セットのゼロ桁の Unicode 値を表します。 NEW_TAI_LUE 新タイ ロ語数字セットのゼロ桁の Unicode 値を表します。0x19D0uint 新タイ ロ語数字セットのゼロ桁の Unicode 値を表します。 NKO ンコ語数字セットのゼロ桁の Unicode 値を表します。0x07C0uint ンコ語数字セットのゼロ桁の Unicode 値を表します。 OL_CHIKI オルチキ語数字セットのゼロ桁の Unicode 値を表します。0x1C50uint オルチキ語数字セットのゼロ桁の Unicode 値を表します。 ORIYA オリヤー語数字セットのゼロ桁の Unicode 値を表します。0x0B66uint オリヤー語数字セットのゼロ桁の Unicode 値を表します。 OSMANYA オスマニア語数字セットのゼロ桁の Unicode 値を表します。0x104A0uint オスマニア語数字セットのゼロ桁の Unicode 値を表します。 SAURASHTRA サウラーシュトラ語数字セットのゼロ桁の Unicode 値を表します。0xA8D0uint サウラーシュトラ語数字セットのゼロ桁の Unicode 値を表します。 SUNDANESE スンダ語数字セットのゼロ桁の Unicode 値を表します。0x1BB0uint スンダ語数字セットのゼロ桁の Unicode 値を表します。 TAMIL タミール語数字セットのゼロ桁の Unicode 値を表します。0x0BE6uint タミール語数字セットのゼロ桁の Unicode 値を表します。 TELUGU テルグ語数字セットのゼロ桁の Unicode 値を表します。0x0C66uint テルグ語数字セットのゼロ桁の Unicode 値を表します。 THAI タイ語数字セットのゼロ桁の Unicode 値を表します。0x0E50uint タイ語数字セットのゼロ桁の Unicode 値を表します。 TIBETAN チベット語数字セットのゼロ桁の Unicode 値を表します。0x0F20uint チベット語数字セットのゼロ桁の Unicode 値を表します。 VAI ヴァイ語数字セットのゼロ桁の Unicode 値を表します。0xA620uint ヴァイ語数字セットのゼロ桁の Unicode 値を表します。 CurrencyParseResult 通貨値の解析で抽出された通貨額と通貨記号(または通貨文字列)を表すデータ構造。Object 通貨値の解析で抽出された通貨額と通貨記号(または通貨文字列)を表すデータ構造。 CurrencyFormatter.parse()CurrencyParseResult 通貨解析結果オブジェクトを構築します。valueNumberunknown通貨額値を表す数字。 symbolString通貨記号を表す数字。 通貨解析結果オブジェクトを構築します。 currencyString 通貨記号または通貨文字列に対応する入力文字列の部分。String 通貨記号または通貨文字列に対応する入力文字列の部分。 value 入力文字列から抽出された通貨額値。Number 入力文字列から抽出された通貨額値。 NumberParseResult 文字列の解析で抽出された数字の情報を保持するデータ構造。Object 文字列の解析で抽出された数字の情報を保持するデータ構造。

数値のストリングには、数字を囲む接頭辞と接尾辞を含めることができます。この場合、startIndex プロパティは数値の最初の文字に設定されます。また、endIndex プロパティは、数値の最後の文字に続く文字のインデックスに設定されます。

NumberFormatter.parse()NumberFormatter.parseNumber()NumberParseResult 数字解析結果オブジェクトを構築します。valueNumberunknown入力文字列の数字部分の値。 startIndexint0x7fffffff入力文字列の数字の最初の文字の索引。 endIndexint0x7fffffff入力文字列の数字の最後の文字の次にある文字の索引。 数字解析結果オブジェクトを構築します。NumberParseResult オブジェクトは、通常、NumberFormatter.parse() および NumberFormatter.parseNumber() メソッドによって作成されます。このコンストラクターを直接呼び出すことによって、作成されるものではありません。 NumberFormatter.parse()NumberFormatter.parseNumber()endIndex 入力文字列の数字部分の最後の文字の次にある文字の索引。int 入力文字列の数字部分の最後の文字の次にある文字の索引。 startIndex 入力文字列の数字部分の最初の文字の索引。int 入力文字列の数字部分の最初の文字の索引。 value 入力文字列の数字部分の値。Number 入力文字列の数字部分の値。
LocaleID LocaleID クラスはロケール ID 名を解析し、使用するメソッド提供します。Object LocaleID クラスはロケール ID 名を解析し、使用するメソッド提供します。このクラスは、Unicode Technical Standard #35(http://unicode.org/reports/tr35/)で定義されているシンタックスを使用するロケール ID 名をサポートしています。 次の例は、各種ロケール用の LocaleID ストリングに関する情報を取得して表示する方法を示します。

この例では、アラビア語(サウジアラビア)、英語(米国)、英語(米国、POSIX バリアント)、中国語(中華人民共和国)、中国語(台湾)、中国語(簡体字)、中国語(中華人民共和国と複数のキーおよび値)のロケールを使用します。

この例では、リストの各ロケールに対して、次の処理を行います。

  1. 新しい LocaleID オブジェクトを作成します。
  2. LocaleID の各種のプロパティを表示します。表示される値は、オペレーティングシステムやユーザー環境設定によって異なる場合があります。
  3. LocalID のキーと値をすべて表示します。
package { import flash.display.Sprite; import flash.globalization.LocaleID; public class LocaleIDExample extends Sprite { public function LocaleIDExample() { var localeNames:Array = ["ar-SA", "EN_us", "en-US-POSIX", "zh-CH", "zh-TW", "zh-Hans", "zh-CH@collation=pinyin;calendar=chinese;currency=RMB"]; for ( var i:int = 0; i < localeNames.length; i++ ) { var locID:LocaleID = new LocaleID( localeNames[i] as String ); trace('\n\n' + "LocaleID requested: " + locID.requestedLocaleIDName + "; actual: " + locID.actualLocaleIDName); trace( "Last Operation Status after new LocaleID: " + locID.lastOperationStatus); trace("name: " + locID.name); trace("language: " + locID.getLanguage() + "; status: " + locID.lastOperationStatus); trace("script: " + locID.getScript() + "; status: " + locID.lastOperationStatus); trace("region: " + locID.getRegion() + "; status: " + locID.lastOperationStatus); trace("variant: " + locID.getVariant() + "; status: " + locID.lastOperationStatus); trace("isRightToLeft: ", locID.isRightToLeft(), "; status: " + locID.lastOperationStatus); var keysAndValues:Object = locID.getKeysAndValues(); var key:String; for (key in keysAndValues) { trace("key: ", key + " value: " + keysAndValues[ key ]); } trace( "Last Operation Status after getKeysAndValues(): " + locID.lastOperationStatus); } } } }
Unicode Technical Standard #35LocaleID ロケール名の付いた新しい LocaleID オブジェクトを構築します。名前が null の場合。 ArgumentErrorArgumentErrornameStringオプションの照合文字列も含むことができるロケール ID 名。例: 「en-US」または「de-DE@collation=phonebook」 ロケール名の付いた新しい LocaleID オブジェクトを構築します。ロケール名は Unicode Technical Standard #35 (http://unicode.org/reports/tr35/)で定義されている構文に従う必要があります。

コンストラクターが正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

要求されたロケール ID 名を使用できない場合、lastOperationStatus は以下のいずれかに設定されます。

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

上記の警告および lastOperationStatus プロパティのその他の有効な値について詳しくは、LastOperationStatus クラスの説明を参照してください。

lastOperationStatusLastOperationStatus
determinePreferredLocales 必要なロケールのリストおよび現在利用可能なロケールのリストに基づいて、許容可能なロケールを返します。ユーザーの環境設定に基づいてソートされた利用可能なロケールのサブセット。 want環境設定の順序でソートされたユーザーの優先ロケールのリスト。 haveアプリケーションで利用可能なロケールのリスト。 このリストの注文は有効ではありません。 keywordStringuserinterface最良適合と決めるために使用するキーワード。 必要なロケールのリストおよび現在利用可能なロケールのリストに基づいて、許容可能なロケールを返します。

結果のリストは、優先順序に従ってソートされています。

このメソッドを使用する典型的な場合は以下のとおりです。

  • ユーザーが自分が理解する言語のリスト(ユーザープロファイル、ブラウザー設定、または cookie に保存されています)を指定します。ユーザーが最もよく理解している言語を最初にリストするため、リスト内の言語の順序は関連しています。これは、「必要品」リストです。
  • アプリケーションは多数の異なる言語にローカライズされています。これは、「所有品」リストです。
  • determinePreferredLocales() メソッドは、2 つのリストの共通部分をユーザーの優先言語が最初に来るように並べ替えて返します。

この機能が現在のオペレーティングシステムでサポートされていない場合、このメソッドは null 値を返します。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatus
getKeysAndValues LocaleID オブジェクトからのすべてのキーと値のペアを含むオブジェクトを返します。結合配列または HashTable として構築された LocaleID オブジェクト内のすべてのキーと値を含むオブジェクト。 Object LocaleID オブジェクトからのすべてのキーと値のペアを含むオブジェクトを返します。

返されるオブジェクトは HashTable または結合配列として構築され、そこでは、プロパティ名がキーを表し、プロパティの値がそのキーの値を表します。例えば、次のコードは LocaleID オブジェクトから getKeysAndValues() メソッドを使用して取得されるすべてのキーと値をリストします。

var myLocale:LocaleID = new LocaleID("fr-CA"); var localeData:Object = myLocale.getKeysAndValues(); for (var propertyName:String in localeData) { trace(propertyName + " = " + localeData[propertyName]); }

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatus
getLanguage ロケール ID 名によって指定される言語コードを返します。ロケール ID 名を解析することによって取得される 2 文字の言語コード。 String ロケール ID 名によって指定される言語コードを返します。

ロケール名を正しく解析できない場合、言語コードは省略形でないロケール名と同じになります。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatus
getRegion ロケール ID 名によって指定された地域コードを返します。2 文字の地域コード、または、地域コードを解析できなかったり、ロケール名から判断される場合は、空白の文字列。 String ロケール ID 名によって指定された地域コードを返します。

このメソッドは、地域コードを解析または推定できない場合、空白の文字列を返します。これは、「xy」などの不明または不完全なロケール ID 名が使用される場合に起きる可能性があります。 地域コードは固定リストに照らして検証されません。例えば、「xx-YY」のロケール ID 名に対して返される地域コードは、「YY」になります。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

地域が指定されたロケール名の一部でない場合、そのロケールに対して最も可能性のある地域コードが「推定」され、lastOperationStatus プロパティが LastOperationStatus.USING_FALLBACK_WARNING に設定されます。

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatus
getScript ロケール ID 名で指定されたスクリプトコードを返します。4 文字のスクリプトコード、または、スクリプトコードを解析できなかったり、ロケール名から判断される場合は、空白の文字列。 String ロケール ID 名で指定されたスクリプトコードを返します。

このメソッドは、スクリプトコードを解析または推定できない場合、空白の文字列を返します。これは、「xy」などの不明または不完全なロケール ID 名が使用される場合に起きる可能性があります。 スクリプトコードは固定リストに照らして検証されません。例えば、「xx-Abcd-YY」のロケール ID 名に対して返されるスクリプトコードは「Abcd」です。

地域および言語も、戻り値に影響する可能性があります。例えば、「mn-MN」(モンゴル語-モンゴル)のスクリプトコードは「Cyrl」(キリル文字)で、「mn-CN」(モンゴル語-中国)のスクリプトコードは「Mong」(モンゴル語)です。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

スクリプトコードが指定されたロケール名の一部でない場合、最も可能性のあるスクリプトコードが「推定」され、lastOperationStatus プロパティが LastOperationStatus.USING_FALLBACK_WARNING に設定されます。

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatus
getVariant ロケール ID 名によって指定される言語バリアントコードを返します。言語バリアントコード、またはロケール ID 名に言語バリアントコードが含まれない場合、空白の文字列。 String ロケール ID 名によって指定される言語バリアントコードを返します。

所定のロケール ID 名に言語バリアントコードがない場合、このメソッドは空白の文字列を返します。 (言語バリアントがあるロケールまたはそれを必要とするロケールはほとんどないので、推定は不要です。)

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatus
isRightToLeft 指定されたロケールのテキストの向きが右か左かを指定します。一般的なテキストがテキストの行内右から左に進む場合は true、それ以外の場合は false; Boolean 指定されたロケールのテキストの向きが右か左かを指定します。

この結果を使用して、Flash テキストエンジン内でテキストの向きを決め、ユーザーインターフェイスをミラーして現在のテキストの向きをサポートするかどうかを決めることができます。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

flashx.textLayout.formats.DirectionlastOperationStatusLastOperationStatus
DEFAULT ユーザーのオペレーティングシステム設定で指定されているユーザーのデフォルトの言語環境設定を使用することを示しています。i-defaultString ユーザーのオペレーティングシステム設定で指定されているユーザーのデフォルトの言語環境設定を使用することを示しています。例えば、このような環境設定は、通常 Windows の「コントロール パネル」や Mac OS X の「システム環境設定」を使用して設定されます。

LocaleID.DEFAULT 設定を使用すると、様々な種類の操作で様々なロケール ID 名を使用できるようになります。例えば、あるロケールを並べ替えに使用し、別のロケールをフォーマットに使用できます。この柔軟性はユーザー環境設定を参照しており、クラスは設計によりこのように動作します。

このロケール識別子は必ずしも最も使用に適したものとは限りません。ブラウザーで動作しているアプリケーションの場合、ブラウザーの優先ロケールがより適切な選択になる可能性があります。多くの場合、ユーザーに優先ロケール ID 名を変更させ、その環境設定をユーザープロファイル、cookie、または共有オブジェクトに保存させることをお勧めします。

lastOperationStatus この LocaleID オブジェクトが実行した最新の操作のステータス。String この LocaleID オブジェクトが実行した最新の操作のステータス。コンストラクターまたはこのクラスのメソッドが呼び出されたり、別のプロパティが設定されたりすると、必ず lastOperationStatus プロパティが設定されます。有効な値については、各メソッドの説明を参照してください。 LastOperationStatusname より「規範的な」ロケール ID を返します。String より「規範的な」ロケール ID を返します。

このメソッドは、次のロケール ID 名への変換を実行して、このロケール ID 名に、より規範的なフォームを付与します。

  • すべてのコンポーネントに適切な大文字と小文字の区別が適用されます。
  • アンダースコアはダッシュに変換されます。

これ以外に実行される処理はありません。例えば、エイリアスの置換および要素の追加や削除はありません。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

DateTimeStyle ロケール固有の日付と時間のフォーマットパターンを決める定数を列挙します。Object ロケール固有の日付と時間のフォーマットパターンを決める定数を列挙します。これらの定数は DateTimeFormatter オブジェクトを構築するとき、または DateTimeFormatter.setDateTimeStyles() メソッドを呼び出すときに使用されます。

CUSTOM 定数は DateTimeFormatter コンストラクターまたは DateFormatter.setDateTimeStyles() メソッドでは使用できません。代わりに、この定数は DateTimeFormatter.setDateTimePattern() メソッドの呼び出しに伴う timeStyle および dateStyle プロパティとして設定されます。

DateTimeFormatterCUSTOM カスタムパターン文字列を使用して日付または時間スタイルを指定することを指定します。customString カスタムパターン文字列を使用して日付または時間スタイルを指定することを指定します。 LONG 長いスタイルの日付または時間を指定します。longString 長いスタイルの日付または時間を指定します。 MEDIUM 中間スタイルの日付または時間を指定します。mediumString 中間スタイルの日付または時間を指定します。 NONE フォーマットされた文字列に日付または時間を含まないことを指定します。noneString フォーマットされた文字列に日付または時間を含まないことを指定します。 SHORT 短いスタイルの日付または時間を指定します。shortString 短いスタイルの日付または時間を指定します。
StringTools StringTools クラスはロケールに依存した大文字と小文字の変換メソッドを提供します。Object StringTools クラスはロケールに依存した大文字と小文字の変換メソッドを提供します。

場合により、大文字と小文字の変換は 1 つの文字からもう 1 つの文字への単純な変換ではなく、言語またはコンテキスト固有の処理が必要になる場合があります。次に実際の使用例を示します。

  • トルコ語とアゼリー語では、ドット付きの小文字 i の大文字は、ドット付きの大文字 İ (U+0130)になります。同様に、ドットが付いていない大文字 I の小文字は、ドットが付いていない小文字 ı (U+0131)になります。
  • ドイツ語で使用される小文字のエスツェット ß (U+00DF)は、大文字では 2 つのS (SS)に変換されます。
  • ギリシャ語では、小文字のシグマに σ (U+03C3)と ς (U+03C2)の 2 つの表記があり、両方とも大文字のシグマ(Σ)(U+03A3)に変換されます。

このクラスの toLowerCase() メソッドと toUpperCase() メソッドは、このような特殊な大文字と小文字の変換ロジックを提供します。

ユーザー設定の使用、オペレーティングシステムによって提供される大文字と小文字の変換ルールの使用および要求したロケールがサポートされていない場合の代替ロケールの使用が原因となり、同じロケール ID を使用していても、ユーザーによってさまざまな大文字と小文字の変換結果が表示される場合があります。

この例は、言語学的に正しいやり方で、各種ストリングを小文字表記および大文字表記に変換する方法を示します。

この例では、次の手順が実行されます。

  1. StringTools オブジェクトを作成します。
  2. トルコ語、ギリシャ語、ドイツ語の各言語に固有の文字をそれぞれ使用して、3 つのストリングを定義します。
  3. 各ストリングを大文字表記と小文字表記に変換し、結果を表示します。この例では、トルコ語の「ı」と「Ä°」、ドイツ語の「ß」およびギリシャ語の「Σςσ」などの文字に対するロケール固有の動作を示します。
package { import flash.display.Sprite; import flash.globalization.LocaleID; import flash.globalization.StringTools; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class StringToolsExample extends Sprite { public function StringToolsExample() { var localeName:String= LocaleID.DEFAULT; var strTool:StringTools = new StringTools(localeName); trace('\n\n' + "LocaleID requested: " + nf.requestedLocaleIDName + "; actual: " + nf.actualLocaleIDName); trace( "Last Operation Status:" + nf.lastOperationStatus ); var turkishStr:String = "iI ıİ"; var greekStr:String = "Σςσβΰ�Σ"; var germanStr:String= "ß"; var tfTurInp:TextField = createTextField(10, 10); tfTurInp.text="Turkish Input: \t " + turkishStr; var tfdash:TextField = createTextField(10, 20); tfdash.text="-------------------"; var tf1:TextField = createTextField(10, 30); tf1.text="\t Upper case: \t " + strTool.toUpperCase(turkishStr); var tf2:TextField = createTextField(10, 40); tf2.text="\t Lower case: \t " + strTool.toLowerCase(turkishStr); var tfgreekInp:TextField = createTextField(10, 60); tfgreekInp.text="Greek Input: \t " + greekStr; var tfdash1:TextField = createTextField(10, 70); tfdash1.text="-------------------"; var tf3:TextField = createTextField(10, 80); tf3.text="\t Upper case: \t " + strTool.toUpperCase(greekStr); var tf4:TextField = createTextField(10, 90); tf4.text="\t Lower case: \t " + strTool.toLowerCase(greekStr); var tfgermanInp:TextField = createTextField(10, 110); tfgermanInp.text="German Input: \t " + germanStr; var tfdash2:TextField = createTextField(10, 120); tfdash2.text="-------------------"; var tf5:TextField = createTextField(10, 130); tf5.text="\t Upper case: \t " + strTool.toUpperCase(germanStr); var tf6:TextField = createTextField(10, 140); tf6.text="\t Lower case: \t " + strTool.toLowerCase(germanStr); } private function createTextField(x:Number, y:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.autoSize=TextFieldAutoSize.LEFT; addChild(result); return result; } } }
StringTools 指定されたロケールの規則に応じて大文字と小文字の変換機能とその他のユーティリティを提供する新しい StringTools オブジェクトを構築します。requestedLocaleIDName パラメーターが null の場合。 ArgumentErrorArgumentErrorrequestedLocaleIDNameString日付または時刻フォーマットを決めるときに使用する優先ロケール ID 名。 指定されたロケールの規則に応じて大文字と小文字の変換機能とその他のユーティリティを提供する新しい StringTools オブジェクトを構築します。

このコンストラクターは、現在のオペレーティングシステムが要求されたロケール ID 名をサポートしているかどうかを判別します。サポートされていない場合、代わりに代替のロケールが使用されます。代替のロケールが使用される場合、lastOperationStatus プロパティに代替ロケールの種類が表示され、actualLocaleIDName プロパティには代替ロケール ID の名前が表示されます。

このコンストラクターが正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

要求されたロケール ID 名を使用できない場合、lastOperationStatus は以下のいずれかに設定されます。

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

LocaleIDlastOperationStatusrequestedLocaleIDNameactualLocaleIDName
getAvailableLocaleIDNames このクラスでサポートされているすべてのロケール ID 名のリストが表示されます。このクラスでサポートされているすべてのロケール ID 名を含む文字列のベクトル。 このクラスでサポートされているすべてのロケール ID 名のリストが表示されます。

このクラスが現在のオペレーティングシステムでサポートされていない場合、このメソッドは null 値を返します。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

toLowerCase 言語の規則に応じて、ストリングを小文字に変換します。s パラメーターが null の場合。 ArgumentErrorArgumentError変換された小文字のストリング。 StringsString小文字に変換するストリング。 言語の規則に応じて、ストリングを小文字に変換します。ロケールによって、出力ストリングの長さと入力ストリングの長さが一致しない場合があります。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatus
toUpperCase 言語の規則に応じて、ストリングを大文字に変換します。s パラメーターが null の場合。 ArgumentErrorArgumentError変換された大文字のストリング。 StringsString大文字に変換するストリング。 言語の規則に応じて、ストリングを大文字に変換します。ロケールによって、出力ストリングの長さと入力ストリングの長さが一致しない場合があります。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatus
actualLocaleIDName この StringTools オブジェクトで使用される実際のロケール ID の名前。String この StringTools オブジェクトで使用される実際のロケール ID の名前。

オペレーティングシステムおよび StringTools() コンストラクターに渡される requestedLocaleIDName パラメーターの値に応じて、この名前は、次の 3 つの値になる可能性があります。

  1. 要求されたロケールが LocaleID.DEFAULT ではなく、要求されたロケールをオペレーティングシステムがサポートする場合、返される名前は requestedLocaleIDName プロパティと同じです。
  2. LocaleID.DEFAULT がコンストラクターに対する requestedLocaleIDName パラメーターの値として使用された場合、ユーザーのオペレーティングシステムによって指定された現在のロケールの名前が使用されます。LocaleID.DEFAULT 値により、ユーザーのカスタマイズした設定が OS に保持されます。requestedLocaleIDName パラメーターとして明示的な値を渡した場合に、2 つのロケール ID 名が同じでも LocaleID.DEFAULT を使用する場合と同じ結果になるとは限りません。ユーザーがコンピューターのロケール設定をカスタマイズして、LocaleID.DEFAULT を使用するのではなく、明示的なロケール ID 名を要求した場合、アプリケーションがそれらのカスタマイズされた設定を取得しない場合があります。

    次に実際の使用例を示します。

    var tools:StringTools = new StringTools(LocaleID.DEFAULT); var aliName:String = tools.actualLocaleIDName;

    上の例では、aliName はユーザーの現在のオペレーティングシステムの設定に対応するロケールの名前(例えば、ユーザーのロケールが「イタリア語 - イタリア」に設定されている場合、「it-IT」)になり、「i-default」(LocaleID.DEFAULT ロケールの名前)にはなりません。

  3. システムがコンストラクターで指定された requestedLocaleIDName をサポートしていない場合、代替のロケール ID 名が提供されます。

    次に例を示します。

    var tools:StringTools = new StringTools("fr-CA"); var aliName:String = tools.actualLocaleIDName;

    上の例のオペレーティングシステムが「fr-CA」(フランス語 - カナダ)ロケール ID をサポートしていないと仮定すれば、代替のロケール ID が使用されます。この場合、代替ロケール ID は「fr-FR」(フランス語 - フランス)です。

LocaleIDrequestedLocaleIDNameStringTools
lastOperationStatus この StringTools オブジェクトが実行した最新の操作のステータス。String この StringTools オブジェクトが実行した最新の操作のステータス。コンストラクターまたはこのクラスのメソッドが呼び出されたり、別のプロパティが設定されたりすると、必ず lastOperationStatus プロパティが設定されます。有効な値については、各メソッドの説明を参照してください。 LastOperationStatusrequestedLocaleIDName この StringTools オブジェクトのコンストラクターに渡された、要求されたロケール ID の名前。String この StringTools オブジェクトのコンストラクターに渡された、要求されたロケール ID の名前。

LocaleID.DEFAULT 値が使用された場合、返される名前は「i-default」です。代替のロケールが適用される場合、実際に使用されるロケールは要求されたロケールと異なる場合があります。 実際のロケール名は actualLocaleIDName プロパティを使用して取得できます。

LocaleIDactualLocaleIDNameStringTools()
CollatorMode CollatorMode クラスは、Collator オブジェクトによって実行される文字列比較の動作を管理する定数値を列挙します。Object CollatorMode クラスは、Collator オブジェクトによって実行される文字列比較の動作を管理する定数値を列挙します。これらの定数は、Collator() コンストラクターの initialMode パラメーターに渡すことができる値を表しています。 CollatorMATCHING Collator オブジェクトを初期化して、compare メソッドが 2 つの文字列が等価であるかどうかを判別するために最適化されるようにします。matchingString Collator オブジェクトを初期化して、compare メソッドが 2 つの文字列が等価であるかどうかを判別するために最適化されるようにします。このモードでは、ストリング比較は大文字と小文字の違い、アクセント付きの文字などを無視します。 Collator() コンストラクターSORTING Collator オブジェクトを初期化します。これにより、compare メソッドが最適化され、エンドユーザーに表示されるテキストストリングのリストを並べ替えられるようになります。sortingString Collator オブジェクトを初期化します。これにより、compare メソッドが最適化され、エンドユーザーに表示されるテキストストリングのリストを並べ替えられるようになります。このモードでは、ロケールに必要な言語と並べ替えのルールに基づいて、ストリング比較は大文字と小文字の違い、アクセント付きの文字などを考慮します。 Collator() コンストラクターNumberFormatter NumberFormatter クラスは、ロケールに依存した、数値のフォーマットと解析を提供します。Object NumberFormatter クラスは、ロケールに依存した、数値のフォーマットと解析を提供します。intuint および Number オブジェクトをフォーマットできます。

NumberFormatter クラスはオペレーティングシステムで提供されるデータおよび機能を使用し、特定のロケールの規則に従い、ユーザーの環境設定とユーザーのオペレーティングシステムによってサポートされている機能に基づいて、数字をフォーマットするように設計されています。マイナス記号、小数点の記号、グループ化の区切り文字、グループ化パターンおよび数字フォーマット内のその他の要素はロケールによって異なる場合があります。

要求されたロケールをオペレーティングシステムがサポートする場合、数値フォーマットプロパティは、要求されたロケールの規則とデフォルトに従って設定されます。要求されたロケールを使用できない場合、プロパティは actualLocaleIDName プロパティを使用して取得できる代替またはデフォルトのシステムロケールに基づいて設定されます。

ユーザーの設定を使用し、オペレーティングシステムによって提供されるフォーマットパターンを使用し、要求されたロケールを使用できないときに代替のロケールを使用するせいで、同じロケール ID を使用していても、ユーザーによって表示されるフォーマット結果が異なる場合があります。

この例では、数字をロケールごとに異なる形式でフォーマットする方法を示します。

この例では、ユーザーのオペレーティングシステムのデフォルトのロケールである、日本語(日本)、英語(米国)およびフランス語(フランス)の各ロケールを使用して数字をフォーマットします。この例では、静的メンバー LocaleID.DEFAULT を使用して、デフォルトのオペレーティングシステムのロケールを要求します。

この例の結果は、オペレーティングシステムやユーザー環境設定によって異なる場合があります。

この例では、リストの各ロケールに対して、次の処理を行います。

  1. NumberFormatter オブジェクトを作成します。
  2. 同じ値を数字、整数、符号なし整数としてフォーマットし、結果を表示します。
package { import flash.globalization.NumberFormatter; import flash.globalization.LocaleID; public class NumberFormatterExample extends Sprite { public function NumberFormatterExample():void { var localeNames:Array = [LocaleID.DEFAULT,"ja_JP","en_US","fr_FR"]; for ( var i:int = 0; i < localeNames.length; i++ ) { var nf:NumberFormatter = new NumberFormatter( localeNames[i] as String ); trace('\n\n' + "LocaleID requested: " + nf.requestedLocaleIDName + "; actual: " + nf.actualLocaleIDName); trace( "Last Operation Status:" + nf.lastOperationStatus ); var numberString:String = nf.formatNumber(123456789.19); trace( "Formatted Number:" + numberString); numberString = nf.formatInt(-123456789); trace( "Formatted Int:" + numberString); numberString = nf.formatUint(123456789); trace( "Formatted UInt:" + numberString); } } } }
この例では、入力ストリングを解析し、数値を抽出する 2 つの方法を示します。

この例の結果は、オペレーティングシステムやユーザー環境設定によって異なる場合があります。

この例では、次の処理を行います。

  1. NumberFormatter オブジェクトを作成します。
  2. NumberFormatter.parse() メソッドを呼び出し、ストリングを解析して NumberParseResult オブジェクトを返します。
  3. NumberFormatter.parseNumber() メソッドを呼び出し、ストリングを解析して数値を返します。
package { import flash.globalization.NumberFormatter; import flash.globalization.NumberParseResult; import flash.globalization.LastOperationStatus; import flash.globalization.LocaleID; public class NumberFormatterParseExample { public function NumberFormatterParseExample():void { var nf:NumberFormatter = new NumberFormatter( "en_US" ); trace("LocaleID requested: " + nf.requestedLocaleIDName + "; actual: " + nf.actualLocaleIDName); trace( "Last Operation Status:" + nf.lastOperationStatus ); var inputNumberString:String = "123,567,89,0.254"; var parseResult:NumberParseResult = nf.parse(inputNumberString); if ( nf.lastOperationStatus == LastOperationStatus.NO_ERROR ) { trace("Parsed value:" + parseResult.value); } inputNumberString = "-123,567,89,0.254"; var parsedNumber:Number = nf.parseNumber(inputNumberString); if ( nf.lastOperationStatus == LastOperationStatus.NO_ERROR ) { trace("Parsed value:" + parsedNumber); } } } }
NumberFormatter 所定のロケールの規則に基づいて数字をフォーマットするために、新しい NumberFormatter オブジェクトを構築します。requestedLocaleIDNamenull の場合 TypeErrorTypeErrorrequestedLocaleIDNameString数字フォーマットを決めるときに使用する優先ロケール ID 名。 所定のロケールの規則に基づいて数字をフォーマットするために、新しい NumberFormatter オブジェクトを構築します。

このコンストラクターは、現在のオペレーティングシステムが要求されたロケール ID 名をサポートしているかどうかを判別します。サポートされていない場合、代わりに代替のロケールが使用されます。代替のロケールが使用される場合、lastOperationStatus プロパティに代替ロケールの種類が表示され、actualLocaleIDName プロパティには代替ロケール ID の名前が表示されます。

ユーザーの現在のオペレーティングシステムの環境設定に基づいてフォーマットするには、requestedLocaleIDName パラメーターの値 LocaleID.DEFAULT をコンストラクターに渡します。

コンストラクターが正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

要求されたロケール ID 名を使用できない場合、lastOperationStatus は以下のいずれかに設定されます。

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

このクラスが現在のオペレーティングシステムでサポートされていない場合、lastOperationStatus プロパティは次のように設定されます。

  • LastOperationStatus.UNSUPPORTED_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

上記の警告および lastOperationStatus プロパティのその他の有効な値について詳しくは、LastOperationStatus クラスの説明を参照してください。

LocaleIDrequestedLocaleIDNameactualLocaleIDNamelastOperationStatusLastOperationStatus
formatInt int 値をフォーマットします。内部メモリ割り当てに問題がある場合。 MemoryErrorflash.errors:MemoryErrorフォーマット済み数字文字列。 Stringvalueintフォーマットする int 値。 int 値をフォーマットします。この関数は、int 値を取ること以外は、formatNumber() メソッドと同じです。渡される値が 1.72e308 より大きい値や 1.72e-308 より小さい値のように、大きすぎるかまたは小さすぎる場合、この関数は 0 を返します。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusflash.globalization.LastOperationStatus
formatNumber 数値をフォーマットします。内部メモリ割り当てに問題がある場合。 MemoryErrorflash.errors:MemoryErrorフォーマット済み数字文字列。 StringvalueNumberフォーマットする数値。 数値をフォーマットします。

この関数はフォーマッターのプロパティ値に基づいて数字をフォーマットします。numberFormatter オブジェクトの作成後にプロパティが変更されない場合、数字は、actualLocaleIDName によって識別されるロケールのオペレーティングシステムが提供するロケール固有の規則に従ってフォーマットされます。フォーマットをカスタマイズするために、プロパティを変更して、特定の面で数字のフォーマットを変更できます。

非常に大きな数字と非常に小さな数字をこの関数でフォーマットできます。ただし、有効桁数は Number オブジェクトによって指定される精度に限定されます。科学的記数法はサポートされていません。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatus
formatUint uint 値をフォーマットします。内部メモリ割り当てに問題がある場合。 MemoryErrorflash.errors:MemoryErrorフォーマット済み数字文字列。 Stringvalueuintuint 値。 uint 値をフォーマットします。この関数は、uint を取ること以外 formatNumber() メソッドと同じです。 渡される値が 1.72e308 より大きいなどのように大きすぎる場合、この関数は 0 を返します。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatus
getAvailableLocaleIDNames このクラスでサポートされているすべてのロケール ID 名のリストが表示されます。このクラスでサポートされているすべてのロケール ID 名を含む文字列のベクトル。 このクラスでサポートされているすべてのロケール ID 名のリストが表示されます。

このクラスが現在のオペレーティングシステムでサポートされていない場合、このメソッドは null 値を返します。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

parseNumber 数字とスペース(オプション)のみを含む文字列を解析して、Number を返します。parseString が null の場合 TypeErrorTypeErrorNumberparseStringString 数字とスペース(オプション)のみを含む文字列を解析して、Number を返します。文字列が数字で始まらないか、数字の一部ではないスペース以外の文字を含む場合、このメソッドは NaN を返します。 数字桁の前後のスペースは無視されます。スペース文字とは、Unicode Character Database (「http://www.unicode.org/ucd/」を参照)の Space Separator(Zs)プロパティを持つ文字のことです。

数字桁の前または後ろにプラス記号「+」が付いている場合は、空白文字以外として扱われます。戻り値は NaN です。

数字の解析および有効な数字の構成について詳しくは、解析機能の説明を参照してください。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatusparse()parseFloat()NationalDigitsType
parse 文字列を解析して、解析した要素を含む NumberParseResult オブジェクトを返します。parseString が null の場合 TypeErrorTypeErrorflash.globalization:NumberParseResultparseStringString 文字列を解析して、解析した要素を含む NumberParseResult オブジェクトを返します。

NumberParseResult オブジェクトには入力文字列で見つかった最初の数字の値、文字列内の数字の開始索引、文字列内の数字の後の最初の文字の索引が含まれます。

ストリングに数字が含まれない場合、NumberParseResult の value プロパティは NaN に設定され、startIndex および endIndex プロパティは 16 進数値の 0x7fffffff に設定されます。

この関数は、decimalSeparator プロパティの値を使用して少数桁を含む数字の部分を判別し、groupingSeparator プロパティの値を使用して、数字の桁内で許容される文字を判別し、negativeNumberFormat プロパティの値を使用して、負の値を表示方法を制御します。

次の表はさまざまな NegativeNumberFormat 値で解析される文字列の結果を示しています。

NegativeNumberFormat入力文字列結果(n)"(123)" または "( 123 )""-123"-n"-123" または "- 123""-123"- n"-123" または "- 123""-123"n-"123-" または "123 -""-123"n -"123-" または "123 -""-123"

数字とマイナス記号または括弧の間には、スペースを 1 つ入れることができます。

その他のプロパティは、有効な数字を判別するときに無視されます。特に digitsType プロパティの値が無視され、桁は NationalDigitsType クラスで列挙される桁セットのいずれかから取得できます。 groupingPattern および useGrouping プロパティの値は数字の解析に影響を与えます。

数字の前または後にプラス記号「+」が付いている場合、このプラス記号は数字の一部ではない文字として扱われます。

この関数では、科学的表記の数字(1.23e40 など)が含まれるストリングは解析されません。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

次のコードで文字列から数字を解析して、接頭辞と接尾辞を取得します。 var nf:NumberFormatter = new NumberFormatter("fr-FR"); var str:String = "1,56 mètre" var result:NumberParseResult = nf.parse(str); trace(result.value) // 1.56 trace(str.substr(0,result.startIndex)); // "" trace(str.substr(result.startIndex, result.endIndex)); // "1,56" trace(str.substr(result.endIndex)); // " mètre"
lastOperationStatusLastOperationStatusNumberParseResultparseNumber()parseFloat()NationalDigitsType
actualLocaleIDName この NumberFormatter オブジェクトで使用される実際のロケール ID の名前。String この NumberFormatter オブジェクトで使用される実際のロケール ID の名前。

オペレーティングシステムおよび Collator() コンストラクターに渡される requestedLocaleIDName パラメーターの値に応じて、この名前の値には 3 つの可能性があります。

  1. 要求されたロケールが LocaleID.DEFAULT ではなく、要求されたロケールをオペレーティングシステムがサポートする場合、返される名前は requestedLocaleIDName プロパティと同じです。
  2. LocaleID.DEFAULT がコンストラクターに対する requestedLocaleIDName パラメーターの値として使用された場合、ユーザーのオペレーティングシステムによって指定された現在のロケールの名前が使用されます。LocaleID.DEFAULT 値により、ユーザーのカスタマイズした設定が OS に保持されます。requestedLocaleIDName パラメーターとして明示的な値を渡した場合に、2 つのロケール ID 名が同じでも LocaleID.DEFAULT を使用する場合と同じ結果になるとは限りません。ユーザーがコンピューターのロケール設定をカスタマイズして、LocaleID.DEFAULT を使用するのではなく、明示的なロケール ID 名を要求した場合、アプリケーションがそれらのカスタマイズされた設定を取得しない場合があります。

    次に実際の使用例を示します。

    var fmt:NumberFormatter = new NumberFormatter(LocaleID.DEFAULT); var aliName:String = fmt.actualLocaleIDName;

    上の例では、aliName はユーザーの現在のオペレーティングシステムの設定に対応するロケールの名前(例えば、ユーザーのロケールが「イタリア語 - イタリア」に設定されている場合、「it-IT」)になり、「i-default」(LocaleID.DEFAULT ロケールの名前)にはなりません。

  3. システムがコンストラクターで指定された requestedLocaleIDName をサポートしていない場合、代替のロケール ID 名が提供されます。

    次に例を示します。

    var fmt:NumberFormatter = new NumberFormatter("fr-CA"); var aliName:String = fmt.actualLocaleIDName;

    上の例のオペレーティングシステムが「fr-CA」(フランス語 - カナダ)ロケール ID をサポートしていないと仮定すれば、代替のロケール ID が使用されます。この場合、代替ロケール ID は「fr-FR」(フランス語 - フランス)です。

LocaleIDrequestedLocaleIDNameNumberFormatter()
decimalSeparator 小数部を持つ数字のフォーマットまたは解析に使用される小数点記号。Stringこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeErrordependent on the locale and operating system. 小数部を持つ数字のフォーマットまたは解析に使用される小数点記号。

このプロパティは最初、formatter オブジェクトを構築するときに選択したロケールに基づいて設定されます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

formatInt()formatNumber()formatUInt()lastOperationStatusLastOperationStatus
digitsType 数字をフォーマットするときに使用される数字のセットを定義します。uintこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeErrordependent on the locale and operating system. 数字をフォーマットするときに使用される数字のセットを定義します。

さまざまな言語と地域で使用されるさまざまな文字セットを、0~9 の数字で表します。 このプロパティは、使用される数字のセットを定義します。

このプロパティの値は、10 進数字セットのゼロ桁の Unicode 値を表しています。このプロパティの有効な値は NationalDigitsType クラスで定義されています。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatusNationalDigitsType
fractionalDigits 小数点記号の後に表示できる最大桁数。int0 小数点記号の後に表示できる最大桁数。

数字はこのプロパティによって指定された桁数に丸められます。丸めのスキームは、ユーザーのオペレーティングシステムによって異なります。

trailingZeros プロパティが true に設定されると、数字の小数部分(小数点の後)にこの fractionalDigits プロパティの値に一致する長さまで、0 が置かれます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

trailingZeroslastOperationStatusflash.globalization.LastOperationStatus
groupingPattern フォーマットされた文字列内のグループ化区切り文字の配置を記述します。Stringこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeError フォーマットされた文字列内のグループ化区切り文字の配置を記述します。

useGrouping プロパティが true に設定されると、groupingPattern プロパティを使用して、グループ化区切り文字に使用される配置とパターンが定義されます。

グループ化パターンはセミコロンで区切られ、場合によっては最後にアスタリスクが付く数字を含む文字列として定義されます。例: "3;2;*"文字列内のそれぞれの数字は、グループ内の桁数を表しています。グループセパレーターは、各数字グループの前に置かれます。ストリングの最後のアスタリスクは、その桁数を持つグループが、フォーマットされた残りのストリングで繰り返されることを示しています。アスタリスクがない場合、フォーマットされた残りのストリングに追加のグループやセパレーターはありません。

文字列内の最初の数字は、小数点の左側の数字の最初のグループに対応しています。その後に続く数字は、左側の後続のグループの桁数を定義します。 このため、文字列「3;2;*」はグループ化区切り文字が最初の 3 桁のグループの後に置かれ、その後に 2 桁のグループが続くことを示しています。例: 98,76,54,321

次の表は、さまざまなグループ化パターンによる数字 123456789.12 のフォーマットの例を示しています。グループ化の区切り文字はカンマで、小数点はピリオドです。

グループ化パターンサンプルフォーマット3;*123,456,789.123;2;*12,34,56,789.123123456,789.12

限定された数のグループ化サイズのみ定義できます。一部のオペレーティングシステムは、グループ化パターンに 2 つの数字とアスタリスクのみ含むことができます。 その他のオペレーティングシステムは、4 つまでの数字とアスタリスクを含むことができます。アスタリスクがないパターンの場合、一部のオペレーティングシステムは 1 つの数字のみサポートし、その他のオペレーティングシステムは 3 つまでの数字をサポートします。グループ化パターン要素の最大数を超えると、追加の要素は無視され、lastOperationStatus プロパティは以下で説明するように設定されます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

groupingSeparatoruseGroupinglastOperationStatusLastOperationStatus
groupingSeparator グループ化区切りに使用される文字または文字列。Stringこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeErrordependent on the locale and operating system. グループ化区切りに使用される文字または文字列。

useGrouping プロパティが true に設定されている数字をフォーマットするときに、このプロパティの値がグループ化区切り文字として使用されます。 このプロパティは最初、formatter オブジェクトを構築するときに選択したロケールに基づいて設定されます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

formatInt()formatNumber()formatUInt()useGroupinglastOperationStatusLastOperationStatus
lastOperationStatus この NumberFormatter オブジェクトが実行した前の操作のステータス。String この NumberFormatter オブジェクトが実行した前の操作のステータス。コンストラクターまたはこのクラスのメソッドが呼び出されたり、別のプロパティが設定されたりすると、必ず lastOperationStatus プロパティが設定されます。有効な値については、各メソッドの説明を参照してください。 LastOperationStatusleadingZero 小数点区切り文字の左側に整数がない場合に、フォーマットされた数値に先頭の 0 を含めるかどうかを指定します。Booleanこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeErrordependent on the locale and operating system. 小数点区切り文字の左側に整数がない場合に、フォーマットされた数値に先頭の 0 を含めるかどうかを指定します。

このプロパティが true に設定されている場合、-1.0~1.0 の数値をフォーマットするときに、小数点区切り文字の左側に先頭の 0 が含まれます。このプロパティが false に設定されている場合、0 は含まれません。

例えば、数値が 0.321 でこのプロパティが true に設定されている場合、フォーマットされたストリングに先頭の 0 が含まれます。プロパティが false に設定されている場合、先頭の 0 は含まれません。その場合、文字列には、.321 のように小数点とその後に続く 10 進数の数字が含まれます。

次の表は、このプロパティと fractionalDigits および trailingZeros の関連プロパティの値に基づいて数値をフォーマットする方法の例を示しています。

trailingZerosleadingZerofractionalDigits0.120truetrue30.1200.000falsetrue30.120truefalse3.120.000falsefalse3.120

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

formatInt()formatNumber()formatUInt()trailingZeroslastOperationStatusLastOperationStatus
negativeNumberFormat 負の数のフォーマットパターンを示す数値。uint割り当てられた値が 0~4 の数字でない場合。 ArgumentErrorArgumentErrordependent on the locale and operating system. 負の数のフォーマットパターンを示す数値。このパターンは、フォーマットされた数字の数値部分に関連するマイナス記号または括弧の位置を定義します。

次の表は、負の数の有効なフォーマットの概要を示しています。負の数がフォーマットされると、フォーマットのマイナス記号が negativeSymbol プロパティの値に置き換えられ、「n」の文字がフォーマットされた数値に置き換えられます。

負の数のフォーマットの種類形式0(n)1-n2- n3n-4n -

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

negativeSymbolformatInt()formatNumber()formatUInt()lastOperationStatusLastOperationStatus
negativeSymbol 負の値をフォーマットするときに使用されるマイナス記号。Stringシステムが十分な内部メモリを割り当てることができない場合。 MemoryErrorflash.errors:MemoryError 負の値をフォーマットするときに使用されるマイナス記号。

この記号は、0 よりも小さい数値をフォーマットするときに、負の数値のフォーマットと組み合わせて使用されます。負の記号を含まない負の数値のフォーマットでは使用されません(例えば、負の数値が括弧で囲まれている場合)。

このプロパティは、このフォーマッターを構築するときに選択した実際のロケールのデフォルト値に設定されます。値を設定して、デフォルト設定を無効にすることができます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

negativeNumberFormatformatInt()formatNumber()formatUInt()lastOperationStatusLastOperationStatus
requestedLocaleIDName この NumberFormatter オブジェクトのコンストラクターに渡された、要求されたロケール ID の名前。String この NumberFormatter オブジェクトのコンストラクターに渡された、要求されたロケール ID の名前。

LocaleID.DEFAULT 値が使用された場合、返される名前は「i-default」です。代替のロケールが適用される場合、実際に使用されるロケールは要求されたロケールと異なる場合があります。 実際のロケール名は actualLocaleIDName プロパティを使用して取得できます。

LocaleIDactualLocaleIDNameNumberFormatter()
trailingZeros 末尾の 0 をフォーマットされた数値に含めるかどうかを指定します。Booleanこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeErrordependent on the locale and operating system. 末尾の 0 をフォーマットされた数値に含めるかどうかを指定します。

このプロパティが true に設定されている場合、末尾の 0 が fractionalDigits プロパティで指定された限界までフォーマットされた数値の小数部分に含まれます。このプロパティが false に設定されている場合、末尾の 0 は表示されません。

例えば、数値が 123.4 で、このプロパティが true に設定されている場合、fractionalDigits プロパティは 3 に設定され、フォーマットされたストリングには 123.400 のように末尾の 0 が表示されます。このプロパティが false の場合、末尾の 0 は含まれず、ストリングには 123.4 のように小数点区切り文字とその後に続く 0 以外の 10 進数の数字が表示されます。

次の表は、このプロパティと fractionalDigits および leadingZero の関連プロパティの値に基づいて数値をフォーマットする方法の例を示しています。

trailingZerosleadingZerofractionalDigits0.120truetrue30.1200.000falsetrue30.120truefalse3.120.000falsefalse3.120

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

leadingZerolastOperationStatusLastOperationStatus
useGrouping 数字をフォーマットするときに、グループ化区切りを使用できるようにします。Boolean 数字をフォーマットするときに、グループ化区切りを使用できるようにします。

useGrouping プロパティが true に設定されている場合、数字はグループ化され、グループセパレーター文字で区切られます。例:123,456,789.22

useGrouping プロパティが false に設定されている場合、数字はグループ化されず、区切られません。例:123456789.22

グループ化区切りとして使用される記号は groupingSeparator プロパティによって定義されます。グループ化区切り間の桁数は、groupingPattern プロパティによって定義されます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

groupingPatterngroupingSeparatorlastOperationStatusLastOperationStatus
DateTimeNameContext DateTimeNameContext クラスは、月名や曜日名が使用されるフォーマットのコンテキストを表す定数値を列挙します。Object DateTimeNameContext クラスは、月名や曜日名が使用されるフォーマットのコンテキストを表す定数値を列挙します。これらの定数は、DateTimeFormatter の getMonthNames() および getWeekDayNames() メソッドの context パラメーターで使用されます。

context パラメーターによってのみ、特定のロケールおよびオペレーティングシステムでこれらのメソッドの結果が変わります。ほとんどのロケールでは、月名と曜日名のリストがコンテキストによって変わることはありません。

DateTimeFormatter.getMonthNames()DateTimeFormatter.getWeekDayNames()FORMAT 日付フォーマット内で日付要素名が使用されることを示しています。formatString 日付フォーマット内で日付要素名が使用されることを示しています。 STANDALONE 他のフォーマットとは別に、日付要素名が「スタンドアローン」のコンテキストで使用されることを示しています。standaloneString 他のフォーマットとは別に、日付要素名が「スタンドアローン」のコンテキストで使用されることを示しています。例えば、この名前はカレンダーで月名のみを表示したり、date chooser で曜日のみを表示したりするために使用できます。
DateTimeNameStyle DateTimeNameStyle クラスは、日付のフォーマット時に使用される月名および曜日名の長さを制御する定数を列挙します。Object DateTimeNameStyle クラスは、日付のフォーマット時に使用される月名および曜日名の長さを制御する定数を列挙します。これらの定数を、DateTimeFormatter の nameStyle パラメーター、getMonthNames() および getWeekDayNames() メソッドに使用します。

LONG_ABBREVIATION および SHORT_ABBREVIATION は、オペレーティングシステムの設定によって、同じ場合と異なる場合があります。

DateTimeFormatterFULL 省略形でない(完全な名前のスタイルの)月名と曜日名を指定します。fullString 省略形でない(完全な名前のスタイルの)月名と曜日名を指定します。例:Tuesday、November LONG_ABBREVIATION 長い省略形スタイルの月名と曜日名を指定します。longAbbreviationString 長い省略形スタイルの月名と曜日名を指定します。例:Tues (Tuesday)、Nov (November) SHORT_ABBREVIATION 短い省略形スタイルの月名と曜日名を指定します。shortAbbreviationString 短い省略形スタイルの月名と曜日名を指定します。例:T (Tuesday)、N (November)
CurrencyFormatter CurrencyFormatter クラスは、ロケールに依存した、通貨値のフォーマットと解析を可能にします。Object CurrencyFormatter クラスは、ロケールに依存した、通貨値のフォーマットと解析を可能にします。

CurrencyFormatter クラスはオペレーティングシステムで提供されるデータおよび機能を使用し、特定のロケールと通貨の種類の規則に従って通貨値をフォーマットするように設計されています。通貨記号、マイナス記号、小数点、グループ化区切り、グループ化パターン小数点およびその他の要素の位置は、ロケールによって変わります。

要求されたロケールをオペレーティングシステムがサポートする場合、プロパティと通貨の種類は、要求されたロケールの規則とデフォルトに従って設定されます。要求されたロケールを使用できない場合、プロパティは actualLocaleIDName プロパティを使用して取得できる代替またはデフォルトのシステムロケールに基づいて設定されます。

ユーザーの設定を使用し、オペレーティングシステムによって提供されるフォーマットパターンを使用し、要求されたロケールを使用できないときに代替のロケールを使用するせいで、同じロケール ID を使用していても、ユーザーによって表示されるフォーマット結果が異なる場合があります。

次に示すのは、ロケールおよび通貨に応じて通貨額を直接フォーマットする方法です。この例の結果は、オペレーティングシステムやユーザー環境設定によって異なる場合があります。

この例では次のロケールを使用します。

  • 通貨フォーマットに対するオペレーティングシステムのデフォルトのロケール(LocaleID.DEFAULT
  • 日本語(日本)
  • 英語(米国)
  • フランス語(フランス)

この例では、リストの各ロケールに対して、次の処理を行います。

  1. CurrencyFormatter オブジェクトを作成します。
  2. formattingWithCurrencySymbolIsSafe() メソッドを使用して、ロケールのデフォルトの通貨がユーロ("EUR")になっているかどうかを確認し、ユーロになっている場合は、通貨記号を使用して文字列をフォーマットします。 ユーロになっていない場合は、ISO コードを使用して文字列をフォーマットします。
package { import flash.display.Sprite; import flash.globalization.CurrencyFormatter; import flash.globalization.LocaleID; public class CurrencyFormatterExample1 extends Sprite { public function CurrencyFormatterExample1():void { var cf:CurrencyFormatter; var amountWithSymbol:String; var amountWithISOCode:String var localeNames:Array = [LocaleID.DEFAULT, "ja-JP", "en-US", "fr-FR"]; for each (var localeName:String in localeNames) { cf = new CurrencyFormatter(localeName); trace('\n' + "LocaleID requested=" + cf.requestedLocaleIDName + "; actual=" + cf.actualLocaleIDName); trace("Last Operation Status: " + cf.lastOperationStatus ); trace("Currency ISO Code: " + cf.currencyISOCode); if (cf.formattingWithCurrencySymbolIsSafe("EUR")) { amountWithSymbol = cf.format(123456789.19, true); trace("Format using Symbol: "+ amountWithSymbol); } else { amountWithISOCode = cf.format(123456789.19); trace("Format using ISO Code: " + amountWithISOCode); } } } } }
次の例では、指定したロケールの規則を使用して通貨額を解析します。この例の結果は、オペレーティングシステムやユーザー環境設定によって異なる場合があります。

この例では、次の手順が実行されます。

  1. 英語(米国)ロケールの CurrencyFormatter オブジェクトを作成します。
  2. parse() メソッドを使用して、入力文字列を解析します。
  3. CurrencyParseResult オブジェクトの解析結果を基に、通貨額と通貨文字列の値を表示します。
package { import flash.display.Sprite; import flash.globalization.CurrencyFormatter; import flash.globalization.CurrencyParseResult; import flash.globalization.LastOperationStatus; import flash.globalization.LocaleID; public class CurrencyFormatterParseExample extends Sprite { public function CurrencyFormatterParseExample() { var cf:CurrencyFormatter = new CurrencyFormatter( "en_US" ); trace("LocaleID requested=" + cf.requestedLocaleIDName + "; actual=" + cf.actualLocaleIDName); trace("Last Operation Status: " + cf.lastOperationStatus ); var inputString:String = "Dollar 123,567,89,0.254"; var result:CurrencyParseResult = cf.parse(inputString); if (cf.lastOperationStatus == LastOperationStatus.NO_ERROR ) { trace("Amount value: " + result.value); trace("Currency string: " + result.currencyString); } } } }
CurrencyFormatter 所定のロケールの規則に従って通貨額を表す数字をフォーマットするために、新しい CurrencyFormatter オブジェクトを構築します。requestedLocaleIDName パラメーターが null の場合。 TypeErrorTypeErrorrequestedLocaleIDNameString日付または時刻フォーマットを決めるときに使用する優先ロケール ID 名。 所定のロケールの規則に従って通貨額を表す数字をフォーマットするために、新しい CurrencyFormatter オブジェクトを構築します。

このコンストラクターは、現在のオペレーティングシステムが要求されたロケール ID 名をサポートしているかどうかを判別します。サポートされていない場合、代わりに代替のロケールが使用されます。代替のロケールが使用される場合、lastOperationStatus プロパティに代替ロケールの種類が表示され、actualLocaleIDName プロパティには代替ロケール ID の名前が表示されます。

currencySymbolcurrencyISOCode などの一部のプロパティはロケールに基づいて自動的に設定されます。

注意:代替のロケールが使用されると、通貨プロパティがデフォルトの値に設定されます。そのため、currencySymbol または currencyISOCode プロパティに予期せぬ値が設定される場合があります。通貨額をフォーマットする前に、currencySymbol および currencyISOCode プロパティの値を調べることをお勧めします。

ユーザーの現在のオペレーティングシステムの環境設定に基づいてフォーマットするには、requestedLocaleIDName パラメーターの値 LocaleID.DEFAULT をコンストラクターに渡します。

コンストラクターが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

要求されたロケール ID 名を使用できない場合、lastOperationStatus は以下のいずれかに設定されます。

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

上記の警告および lastOperationStatus プロパティのその他の有効な値について詳しくは、LastOperationStatus クラスの説明を参照してください。

lastOperationStatusrequestedLocaleIDNameactualLocaleIDNameLastOperationStatusLocaleID
format ロケール、通貨記号および通貨 ISO コードを含むこの CurrencyFormatter オブジェクトの現在のプロパティに従ってフォーマットされた金額を表すストリングを作成します。フォーマットされた通貨値を含む文字列。 StringvalueNumber通貨文字列にフォーマットされる数値。 withCurrencySymbolBooleanfalsefalse に設定されている場合、currencyISOCode プロパティによって、どの通貨ストリングまたは記号を出力ストリングで使用するかが決まります。true に設定されている場合、currencySymbol プロパティの現在の値が出力ストリングで使用されます。 ロケール、通貨記号および通貨 ISO コードを含むこの CurrencyFormatter オブジェクトの現在のプロパティに従ってフォーマットされた金額を表すストリングを作成します。

デフォルトでは、このメソッドは currencyISOCode プロパティを使用して、フォーマット時に使用する通貨記号やその他の設定を決めます。

多くの国や地域では、さまざまな通貨に同じ通貨記号を使用しています。例えば、米国、オーストラリア、ニュージーランド、カナダおよびメキシコはすべて、国内通貨の値に同じドル記号($)を使用しています。通貨のフォーマットがユーザーの地域の通貨と異なる場合は、ISO コードを通貨ストリングとして使用することをお勧めします。formattingWithCurrencySymbolIsSafe() メソッドを使用して、フォーマットする通貨の ISO コードがフォーマッターの currencyISOCode プロパティと一致するかどうかをテストすることができます。

このメソッドで、多数の非常に高額の通貨および非常に小額の通貨をフォーマットできます。 ただし、有効桁数は Number データ型によって指定される精度に限定されます。

この例では、要求されたロケールは「fr-CA」(フランス語(カナダ))です。この例は、このロケールがユーザーのオペレーティングシステムでサポートされており、したがって、代替のロケールは使用されないことを前提にしています。「fr-CA」の場合、デフォルトの通貨は ISO コードが CAD のカナダドルです。 したがって、デフォルト値で通貨をフォーマットすると、CAD が通貨記号として使用されます。withCurrencySymbol パラメーターが true に設定されている場合、currencySymbol プロパティを使用して、通貨額がフォーマットされます。 var cf:CurrencyFormatter = new CurrencyFormatter("fr-CA"); trace(cf.actualLocaleIDName); // "fr-CA" trace(cf.currencyISOCode); // "CAD" trace(cf.currencySymbol); // "$" trace(cf.format(1254.56)); // "1 254,56 CAD" trace(cf.format(1254.56, true)); // "1 254,56 $"

2 番目の例は、デフォルトのユーザーのロケールを使用して、カナダドルで通貨額をフォーマットするメソッドを示しています。formattingWithCurrencySymbolIsSafe() メソッドを使用して、ユーザーのデフォルトの通貨がカナダドルであるかどうかをテストし、カナダドルである場合は、withCurrencySymbol パラメーターを true に設定して、format メソッドを使用します。 カナダドルでない場合は、さらに説明的な通貨記号で通貨をカナダドルに設定します。この例は、デフォルトのロケールがフランス語(カナダ)または英語(米国)の場合に、通貨をフォーマットする方法を示しています。

var cf:CurrencyFormatter = new CurrencyFormatter(LocaleID.DEFAULT); if (cf.formattingWithCurrencySymbolIsSafe("CAD")) { trace(cf.actualLocaleIDName); // "fr-CA French (Canada)" trace(cf.format(1254.56, false)); // "1 254,56 $" } else { trace(cf.actualLocaleIDName); // "en-US English (USA)" cf.setCurrency("CAD", "C$") trace(cf.format(1254.56, true)); // "C$ 1,254.56" }
currencySymbolcurrencyISOCodeformattingWithCurrencySymbolIsSafe()lastOperationStatusLastOperationStatus
formattingWithCurrencySymbolIsSafe 通貨額のフォーマット時に、現在指定されている通貨記号を使用できるかどうかを判別します。requestedISOCode パラメーターが null の場合。 TypeErrorTypeErrorcurrencyISOCode プロパティが requestedISOCode パラメーターと一致する場合は true、それ以外の場合 falseBooleanrequestedISOCodeString3 文字の ISO 4217 通貨コード(米ドルは USD、ユーロは EUR など)。A~Z の 3 文字の大文字を含む必要があります。 通貨額のフォーマット時に、現在指定されている通貨記号を使用できるかどうかを判別します。

多くの地域や国で、同じ通貨記号が使用されています。このメソッドを使用して、あいまいな通貨記号、または代替のロケールの使用によって予期されるものとは異なる通貨記号や ISO コードが使用されるのを防ぐことができます。

このメソッドがよく使用されるのは、ロケールの通貨記号を表示するか(金額がユーザーのデフォルトの通貨でフォーマットされる場合)、またはさらに固有の ISO コード文字列を表示するか(金額がユーザーのデフォルトとは異なる通貨でフォーマットされる場合)を決めるために使用する場合です。

このメソッドは requestedISOCode パラメーターを現在の currencyISOCode プロパティと比較し、ストリングが等しい場合は true を返し、等しくない場合は false を返します。ストリングが等しい場合、withCurrencySymbol パラメーターを true に設定して format() メソッドを使用すると、ロケール固有の通貨記号を持つフォーマットされた通貨値ストリングになります。このメソッドが false を返す場合、withCurrencySymbol パラメーターを true に設定して format() メソッドを使用すると、あいまいな通貨記号または正しくない通貨記号を使用することになります。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

currencySymbolcurrencyISOCodelastOperationStatusLastOperationStatus
getAvailableLocaleIDNames このクラスでサポートされているすべてのロケール ID 名のリストが表示されます。このクラスでサポートされているすべてのロケール ID 名を含む文字列のベクトル。 このクラスでサポートされているすべてのロケール ID 名のリストが表示されます。

このクラスが現在のオペレーティングシステムでサポートされていない場合、このメソッドは null 値を返します。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

parse 文字列を通貨額および通貨記号に解析します。inputString パラメーターが null の場合。 TypeErrorTypeError数値および通貨記号または文字列を含む CurrencyParseResult オブジェクト。 flash.globalization:CurrencyParseResultinputStringString解析する入力文字列。 文字列を通貨額および通貨記号に解析します。

解析アルゴリズムは decimalSeparator プロパティの値を使用して、数字の整数部分と少数部分を判別します。このアルゴリズムは、negativeCurrencyFormat および positiveCurrencyFormat プロパティの値を使用して、通貨額との関連で通貨記号または文字列の位置を決めます。負の金額の場合、negativeCurrencyFormat プロパティの値によって、負の記号の位置と括弧を使用するかどうかが決まります。

入力ストリング内の通貨記号、負の記号および数字の順序が negativeCurrencyFormat および positiveCurrencyFormat プロパティによって識別されるパターンと一致しない場合、次のようになります。

  1. 返された CurrencyParseResult オブジェクトの value プロパティが NaN に設定されます。
  2. 返された CurrencyParseResult オブジェクトの currencyString プロパティが null に設定されます。
  3. lastOperationStatus プロパティが解析の失敗を示すように設定されます。

入力ストリングには、解析中に無視される空白文字が含まれる場合があります。

通貨記号がない場合でも解析は成功します。文字列の通貨記号に該当する部分には検証は実行されませn。通貨記号またはストリングがない場合、返される CurrencyParseResult オブジェクト内の currencyString プロパティが空のストリングに設定されます。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

decimalSeparatornegativeCurrencyFormatpositiveCurrencyFormatCurrencyParseResultlastOperationStatusLastOperationStatus
setCurrency CurrencyFormatter オブジェクトの currencyISOCode および currencySymbol プロパティを設定します。currencyISOCode または currencySymbol パラメーターが null の場合。 TypeErrorTypeErrordependent on the actual locale and operating system currencyISOCodeString3 文字の ISO 4217 通貨コード(米ドルは USD、ユーロは EUR など)。A~Z の 3 文字の大文字を含む必要があります。 currencySymbolString 通貨値をフォーマットするときに使用する通貨記号または文字列。これは空白文字列になる場合があります。 CurrencyFormatter オブジェクトの currencyISOCode および currencySymbol プロパティを設定します。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、currencyISOCode および currencySymbol プロパティは変更されず、lastOperationStatus プロパティが LastOperationStatus クラスで定義された定数のいずれかに設定されます。

currencyISOCodecurrencySymbollastOperationStatusLastOperationStatus
actualLocaleIDName この CurrencyFormatter オブジェクトで使用される実際のロケール ID の名前。String この CurrencyFormatter オブジェクトで使用される実際のロケール ID の名前。

オペレーティングシステムおよび CurrencyFormatter() コンストラクターに渡される requestedLocaleIDName パラメーターの値に応じて、この名前は、次の 3 つの値になる可能性があります。

  1. 要求されたロケールが LocaleID.DEFAULT ではなく、要求されたロケールをオペレーティングシステムがサポートする場合、返される名前は requestedLocaleIDName プロパティと同じです。
  2. LocaleID.DEFAULT がコンストラクターに対する requestedLocaleIDName パラメーターの値として使用された場合、ユーザーのオペレーティングシステムによって指定された現在のロケールの名前が使用されます。LocaleID.DEFAULT 値により、ユーザーのカスタマイズした設定が OS に保持されます。requestedLocaleIDName パラメーターとして明示的な値を渡した場合に、2 つのロケール ID 名が同じでも LocaleID.DEFAULT を使用する場合と同じ結果になるとは限りません。ユーザーがマシンのロケール設定をカスタマイズし、LocaleID.DEFAULT を使用するのではなく、明示的なロケール ID 名を要求した場合、アプリケーションがそれらのカスタマイズされた設定を取得しない場合があります。

    次に実際の使用例を示します。

    var fmt:CurrencyFormatter = new CurrencyFormatter(LocaleID.DEFAULT); var aliName:String = fmt.actualLocaleIDName;

    上の例では、aliName はユーザーの現在のオペレーティングシステムの設定に対応するロケールの名前(例えば、ユーザーのロケールが「イタリア語 - イタリア」に設定されている場合、「it-IT」)になり、「i-default」(LocaleID.DEFAULT ロケールの名前)にはなりません。

  3. システムがコンストラクターで指定された requestedLocaleIDName をサポートしていない場合、代替のロケール ID 名が提供されます。

    次に例を示します。

    var fmt:CurrencyFormatter = new CurrencyFormatter("fr-CA"); var aliName:String = fmt.actualLocaleIDName;

    上の例のオペレーティングシステムが「fr-CA」(フランス語 - カナダ)ロケール ID をサポートしていないと仮定すれば、代替のロケール ID が使用されます。この場合、代替ロケール ID は「fr-FR」(フランス語 - フランス)です。

LocaleIDrequestedLocaleIDNameCurrencyFormatter()
currencyISOCode 使用される実際のロケールの 3 文字の ISO 4217。Stringdependent on the actual locale and operating system 使用される実際のロケールの 3 文字の ISO 4217。

このコードは、false に設定した withCurr ncySymbol パラメーターで format() メソッドを使用して金額をフォーマットするとき、通貨記号または通貨ストリングを判別するために使用されます。

このプロパティは、使用される実際のロケールに基づいて、コンストラクターによって初期化されます。代替のロケールが使用される場合、このプロパティは、代替のロケールで優先されるデフォルトの通貨コードを反映します。

format()setCurrency()currencySymbol
currencySymbol 使用される実際のロケールの通貨記号または文字列。Stringdependent on the actual locale and operating system 使用される実際のロケールの通貨記号または文字列。

このプロパティは、withCurrencySymbol パラメーターを true に設定して、format() を使用して金額をフォーマットするときに通貨記号として使用されます。

このプロパティは、使用される実際のロケールに基づいて、コンストラクターによって初期化されます。代替のロケールが使用される場合、このプロパティは、代替のロケールで優先されるデフォルトの通貨記号を反映します。

format()setCurrency()formattingWithCurrencySymbolIsSafe()currencyISOCode
decimalSeparator 小数部を持つ通貨額のフォーマットまたは解析に使用される小数点記号。Stringこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeErrordependent on the actual locale and operating system 小数部を持つ通貨額のフォーマットまたは解析に使用される小数点記号。

このプロパティは最初、formatter オブジェクトを構築するときに選択したロケールに基づいて設定されます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

format()lastOperationStatusLastOperationStatus
digitsType 通貨額をフォーマットするときに使用される数字のセットを定義します。uintこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeErrordependent on the actual locale and operating system 通貨額をフォーマットするときに使用される数字のセットを定義します。

さまざまな言語と地域で使用されるさまざまな文字セットを、0~9 の数字で表します。 このプロパティは、使用される数字のセットを定義します。

このプロパティの値は、10 進数字セットのゼロ桁の Unicode 値を表しています。このプロパティの有効な値は NationalDigitsType クラスで定義されています。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatusLastOperationStatusNationalDigitsType
fractionalDigits 小数点記号の後に表示できる最大桁数。int0 小数点記号の後に表示できる最大桁数。

数字はこのプロパティによって指定された桁数に丸められます。丸めのスキームは、ユーザーのオペレーティングシステムによって異なります。

trailingZeros プロパティが true に設定されると、数字の小数部分(小数点の後)にこの fractionalDigits プロパティの値に一致する長さまで、0 が置かれます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

trailingZeroslastOperationStatusLastOperationStatus
groupingPattern フォーマットされた通貨額文字列内のグループ化区切り文字の配置を記述します。Stringこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeError フォーマットされた通貨額文字列内のグループ化区切り文字の配置を記述します。

useGrouping プロパティが true に設定されると、groupingPattern プロパティを使用して、グループ化区切り文字に使用される配置とパターンが定義されます。

グループ化パターンはセミコロンで区切られ、場合によっては最後にアスタリスクが付く数字を含む文字列として定義されます。例: "3;2;*"文字列内のそれぞれの数字は、グループ内の桁数を表しています。グループセパレーターは、各数字グループの前に置かれます。ストリングの最後のアスタリスクは、その桁数を持つグループが、フォーマットされた残りのストリングで繰り返されることを示しています。アスタリスクがない場合、フォーマットされた残りのストリングに追加のグループやセパレーターはありません。

文字列内の最初の数字は、小数点の左側の数字の最初のグループに対応しています。その後に続く数字は、左側の後続のグループの桁数を定義します。 このため、文字列「3;2;*」はグループ化区切り文字が最初の 3 桁のグループの後に置かれ、その後に 2 桁のグループが続くことを示しています。例: 98,76,54,321

次の表は、さまざまなグループ化パターンによる通貨額 123456789.12 のフォーマットの例を示しています。グループ化区切りはカンマ、小数点はピリオド、ドル記号($)は通貨記号です。

グループ化パターンサンプルフォーマット3;* $123,456,789.123;2;*$12,34,56,789.123$123456,789.12

限定された数のグループ化サイズのみ定義できます。一部のオペレーティングシステムは、グループ化パターンに 2 つの数字とアスタリスクのみ含むことができます。 その他のオペレーティングシステムは、4 つまでの数字とアスタリスクを含むことができます。アスタリスクがないパターンの場合、一部のオペレーティングシステムは 1 つの数字のみサポートし、その他のオペレーティングシステムは 3 つまでの数字をサポートします。グループ化パターン要素の最大数を超えると、追加の要素は無視され、lastOperationStatus プロパティは以下で説明するように設定されます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

groupingSeparatoruseGroupinglastOperationStatusLastOperationStatus
groupingSeparator グループ化区切りに使用される文字または文字列。Stringこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeErrordependent on the actual locale and operating system グループ化区切りに使用される文字または文字列。

useGrouping プロパティが true に設定されている場合、通貨額をフォーマットするときにこのプロパティの値がグループ化区切り文字として使用されます。 このプロパティは最初、formatter オブジェクトを構築するときに選択したロケールに基づいて設定されます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

format()useGroupinglastOperationStatusLastOperationStatus
lastOperationStatus この CurrencyFormatter オブジェクトが実行した最新の操作のステータス。String この CurrencyFormatter オブジェクトが実行した最新の操作のステータス。コンストラクターまたはこのクラスのメソッドが呼び出されたり、別のプロパティが設定されたりすると、必ず lastOperationStatus プロパティが設定されます。有効な値については、各メソッドの説明を参照してください。 LastOperationStatusleadingZero 小数点区切り文字の左側に整数がない場合に、フォーマットされた金額に先頭の 0 を含めるかどうかを指定します。Booleanこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeErrordependent on the actual locale and operating system 小数点区切り文字の左側に整数がない場合に、フォーマットされた金額に先頭の 0 を含めるかどうかを指定します。

このプロパティが true に設定されている場合、-1.0~1.0 の数値をフォーマットするときに、小数点区切り文字の左側に先頭の 0 が含まれます。このプロパティが false に設定されている場合、0 は含まれません。

例えば、金額が 0.321 でこのプロパティが true に設定されている場合、フォーマットされたストリングに先頭の 0 が含まれます。プロパティが false に設定されている場合、先頭の 0 は含まれません。その場合、文字列には、$.321 のように小数点とそれに続く 10 進数の数字のみが含まれます。

次の表は、このプロパティと fractionalDigits および trailingZeros の関連プロパティの値に基づいて通貨額をフォーマットする方法の例を示しています。

trailingZerosleadingZerofractionalDigits0.120truetrue3$0.120$0.000falsetrue3$0.12$0truefalse3$.120$.000falsefalse3$.12$0

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

format()lastOperationStatusLastOperationStatustrailingZeros
negativeCurrencyFormat 負の通貨額のフォーマットパターンを示す数値。uint割り当てられた値が 0~15 の場合。 ArgumentErrorArgumentErrordependent on the actual locale and operating system 負の通貨額のフォーマットパターンを示す数値。このパターンは、通貨額の数値部分に関連する通貨記号とマイナス記号または括弧の位置を定義します。

このプロパティの値は、下の表で定義された定数のいずれかになります。

下の表は負の通貨額の有効なフォーマットパターンの概要を示しています。通貨額が format() メソッドでフォーマットされる場合:

  • 「¤」記号は、format() メソッドに渡される withCurrencySymbol パラメーターに応じて、currencyISOCode または currencySymbol プロパティの値に置き換えられます。
  • 「-」記号は、negativeNumberSymbol プロパティの値に置き換えられます。
  • 「n」文字は、format() メソッドに渡される通貨額の値に置き換えられます。
負の金額のフォーマットの種類フォーマットパターン0(¤n)1-¤n2¤-n3¤n-4(n¤)5-n¤6n-¤7n¤-8-n ¤9-¤ n10n ¤-11¤ n-12¤ -n13n- ¤14(¤ n)15(n ¤)

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

format()currencySymbolnegativeSymbollastOperationStatusLastOperationStatus
negativeSymbol 負の通貨額をフォーマットするときに使用されるマイナス記号。Stringこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeErrordependent on the actual locale and operating system 負の通貨額をフォーマットするときに使用されるマイナス記号。

この記号は、0 よりも小さい金額をフォーマットするときに、負の金額のフォーマットと組み合わせて使用されます。マイナス記号を含まない負の金額のフォーマットでは使用されません(例えば、負の金額が括弧で囲まれている場合)。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

format()negativeCurrencyFormatlastOperationStatusLastOperationStatus
positiveCurrencyFormat 正の金額のフォーマットパターンを示す数値。uint割り当てられた値が 0~3 の場合。 ArgumentErrorArgumentErrordependent on the actual locale and operating system 正の金額のフォーマットパターンを示す数値。このフォーマットは、通貨額の数値部分に関連する通貨記号の位置を定義します。

このプロパティの値は、下の表で定義された定数のいずれかになります。

下の表は正の通貨額の有効なフォーマットパターンの概要を示しています。通貨額が format() メソッドでフォーマットされる場合:

  • 「¤」記号は、format() メソッドに渡される withCurrencySymbol パラメーターに応じて、currencyISOCode または currencySymbol プロパティの値に置き換えられます。
  • 「n」文字は、format() メソッドに渡される通貨額の値に置き換えられます。
正の金額のフォーマットの種類フォーマットパターン0¤n12¤ n3n ¤

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

currencySymbolformat()lastOperationStatusLastOperationStatus
requestedLocaleIDName この CurrencyFormatter オブジェクトのコンストラクターに渡された、要求されたロケール ID の名前。String この CurrencyFormatter オブジェクトのコンストラクターに渡された、要求されたロケール ID の名前。

LocaleID.DEFAULT 値が使用された場合、返される名前は「i-default」です。代替のロケールが適用される場合、実際に使用されるロケールは要求されたロケールと異なる場合があります。 実際のロケール名は actualLocaleIDName プロパティを使用して取得できます。

LocaleIDactualLocaleIDNameCurrencyFormatter()
trailingZeros 末尾の 0 をフォーマットされた金額に含めるかどうかを指定します。Booleanこのプロパティに null 値が割り当てられている場合。 TypeErrorTypeErrordependent on the actual locale and operating system 末尾の 0 をフォーマットされた金額に含めるかどうかを指定します。

このプロパティが true に設定されている場合、末尾の 0 が fractionalDigits プロパティで指定された限界までフォーマットされた数字の小数部分に含まれます。このプロパティが false に設定されている場合、末尾の 0 は表示されません。

例えば、金額が 123.4 で、このプロパティが true に設定され、fractionalDigits プロパティが 3 に設定されている場合、フォーマットされたストリングには $123.400 のように 0 が表示されます。このプロパティが false の場合、末尾の 0 は含まれず、ストリングには $123.4 のように小数点区切り文字とその後に続く 0 以外の 10 進数の数字が表示されます。

次の表は、このプロパティと fractionalDigits および leadingZero の関連プロパティの値に基づいて通貨額をフォーマットする方法の例を示しています。

trailingZerosleadingZerofractionalDigits0.120truetrue3$0.120$0.000falsetrue3$0.12$0truefalse3$.120$.000falsefalse3$.12$0

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

leadingZerolastOperationStatusLastOperationStatus
useGrouping 通貨額をフォーマットするときにグループ化区切りを使用できるようにします。Boolean 通貨額をフォーマットするときにグループ化区切りを使用できるようにします。

useGrouping プロパティが true に設定されている場合、数字はグループ化され、グループセパレーター文字で区切られます。例:$123,456,789

useGrouping プロパティが false に設定されている場合、数字はグループ化されず、区切られません。例:$123456789

groupingSeparator プロパティでは、グループセパレーターとして使用するシンボルを定義します。groupingPattern プロパティでは、グループセパレーター間の桁数を定義します。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

groupingPatterngroupingSeparatorlastOperationStatusLastOperationStatus
Collator Collator クラスは、ロケールに依存した文字列の比較を行います。Object Collator クラスは、ロケールに依存した文字列の比較を行います。

このクラスは、オペレーティングシステムによって提供される文字列比較サービスを使用します。 比較は、クラスインスタンスの作成時に提供されるロケール ID に基づいて異なります。ActionScript は Unicode 文字セットを使用して文字列を格納します。ブール値の文字列比較演算子(==、 !=、<、<=、>、>=)は、比較に Unicode コードポイントを使用します。ほとんどの場合、結果のソート順は特定の言語やロケールの規則と一致しないので、ユーザインタフェースに表示される文字列のソートに使用しないでください。 一方で、このクラスの comparison メソッドがこれらの規則に従う順序を提供します。

言語によってソート順が異なる例を次にいくつか示します。

  • 英語では大文字の A の前に小文字の a、小文字の b の前に大文字の A の順に並びます。
  • スウェーデン語では ö は z の後ですが、ドイツ語では ö は o の後です。
  • スペイン語(トラディショナル)では、ch は 1 文字として、c と d の間にソートされます。
  • フランス語のアクセント付きの文字は、最初のアクセントの違いではなく、最後のアクセントの違いによってソートされます。例えば、cote < coté < côte < côté の順ではなく、cote < côte < coté < côté の順になります。

ソート順は、同じ言語およびロケール内でも使い方によって変わる場合があります。例えば、ドイツ語では、電話帳の名前のソート順と辞書の単語のソート順は違います。漢字(日本語と中国語で使用)には、発音や部首および画数によるソートなど、様々なソート方法があります。スペイン語とグルジア語では、モダンソートとトラディショナルソートの違いがあります。

このクラスの比較メソッドには、主に 2 つの使用モードがあります。このモードは、Collator() コンストラクターの initialMode パラメーターによって制御されます。デフォルトの「ソート」モードは、エンドユーザーに表示される項目をソートするためのモードです。このモードでは、より厳密な比較を行い、他の点では同じ項目が一貫した基準でソートされることを保証します。例えば、大文字と小文字は同じものとは見なされません。「照合」モードでは、比較基準はもっとゆるやかです。例えば、このモードでは大文字と小文字は同じものとして扱われます。これら 2 つのモードを示す例を次に示します。

var sortingCollator:Collator = new Collator("en-US", CollatorMode.SORTING); var words:Array = new Array("Airplane" , "airplane", "boat", "Boat"); words.sort(sortingCollator.compare); trace(words); var matchingCollator:Collator = new Collator("en-US", CollatorMode.MATCHING); if (matchingCollator.equals("Car", "car")) { trace("The words match!"); }

上記のようにロケール ID パラメーターをコンストラクターに提供した場合でも、照合動作は、ユーザーのオペレーティングシステムの設定や、要求されたロケールがサポートされていないときに代替のロケールが使用されるかどうかによって、ユーザーごとに異なる場合があります。

次の例は、ソート結果がロケールによって異なることを示しています。この例では、次の手順が実行されます。
  1. オペレーティングシステムのデフォルトのロケール ID(LocaleID.DEFAULTで指定)などのロケール ID 名の配列内を反復処理します。
  2. "sorting" モード(デフォルト)を使用して各ロケール ID の Collator オブジェクトを作成します。
  3. 要求された実際のロケール ID 名および lastOperationStatus プロパティの値が表示されるため、代替ロケールが使用されているかどうかを確認できます。
  4. 各 Collator オブジェクトを使用してデータ配列をソートし、ソート結果を表示します。ソート結果の並び順はロケールごとに異なります。
package { import flash.globalization.Collator; import flash.globalization.LocaleID; public class CollatorExample1 { public var col:Collator; public function CollatorExample1():void { var localeNames:Array = [LocaleID.DEFAULT, "de-DE", "sv-SE", "fr-FR", "lt-LT", "es-ES"]; var testSortData:Array = [ "y ", "i ", "k ", // Latvian "acxa ", "acha ", "adxa ", // es_traditional "n ", "ö ", "o ", "z ", "vu ", "wo ", // sw "däd ", "daed ", // de "öf ", "of ", // de_dictionary "côte ", "coté " // fr ]; for each (var localeName:String in localeNames) { col = new Collator(localeName); trace("LocaleID requested: " + col.requestedLocaleIDName + "; actual: " + col.actualLocaleIDName); trace("Last Operation Status: " + col.lastOperationStatus ); var result:Array = testSortData.sort(col.compare); trace ("sorted data: " + result); } } } }
次の例は、Collator オブジェクトを使用して、文字列の比較動作を制御する方法を示しています。この例では、次の手順が実行されます。
  1. "matching" モードを使用して、ユーザーのデフォルトロケールの Collator オブジェクトを作成します。
  2. または、Collator.ignoreDiacritics プロパティを false および true に設定します。
  3. 識別記号や大文字と小文字を含む文字列のセットを比較します。
  4. Collator.ignoreDiacritics および Collator.ignoreCase プロパティが変更されたときの比較の変化を示します。
package { import flash.display.Sprite; import flash.globalization.Collator; import flash.globalization.CollatorMode; import flash.globalization.LocaleID; public class CollatorExample2 extends Sprite { public var col:Collator; public var testMatchData:Array = ["cote", "Cote", "côte", "coté"]; public var wordToMatch:String = "Cote"; public function CollatorExample2() { col = new Collator( LocaleID.DEFAULT, CollatorMode.MATCHING ); trace("LocaleID requested: " + col.requestedLocaleIDName + "; actual: " + col.actualLocaleIDName); trace("Last Operation Status: " + col.lastOperationStatus ); trace('\n' + "ignoreCase = " + col.ignoreCase); trace("ignoreDiacritics = " + col.ignoreDiacritics); compareString(testMatchData, wordToMatch) // All variations of the word cote match col.ignoreDiacritics = false; trace('\n' + "ignoreDiacritics = false"); compareString(testMatchData, wordToMatch) // Variations with different diacritics will not match col.ignoreCase = false; trace('\n' + "ignoreCase = false"); compareString(testMatchData, wordToMatch) // Variations with different case will not match } private function compareString(stringArray:Array, keyword:String):void { for each(var s:String in stringArray) { if(col.equals(s, keyword)) { trace(keyword + " = " + s); } } } } }
Collator 指定されたロケールの規則に従った文字列の比較を行うために、新しい Collator オブジェクトを構築します。requestedLocaleIDName パラメーターが null の場合。 TypeErrorTypeErrorrequestedLocaleIDName パラメーターに無効な値が含まれる場合。 ArgumentErrorArgumentErrorrequestedLocaleIDNameStringこの Collator オブジェクトで使用される StringinitialModeStringsorting初期照合モードを指定するストリング値。デフォルト値は CollatorMode.SORTING です。 利用可能なモードについては、CollatorMode クラスを参照してください。 指定されたロケールの規則に従った文字列の比較を行うために、新しい Collator オブジェクトを構築します。

現在のオペレーティングシステムが requestedLocaleIDName パラメーターで渡されるロケール ID をサポートしていない場合、代替のロケールが決められます。代替のロケールが使用されると、lastOperationStatus プロパティが設定され、代替の種類が示されます。

initialMode パラメーターの設定には、汎用の様々な照合オプションがあります。このパラメーターは、以下の値に設定できます。

  • CollatorMode.SORTING:エンドユーザーに表示されるテキストストリングのリストをソートするなどの汎用の言語的なソートを使用するための照合オプションを設定します。このモードでは、ストリングの比較を行うときに、大文字と小文字の違いやアクセント付き文字など、ロケール固有の違いが考慮されます。
  • CollatorMode.MATCHING:2 つのストリングが等しいかどうかの判断などの汎用の照合オプションを設定します。このモードでは、ストリングの比較を行うときに、大文字と小文字の違い、アクセント付き文字などが無視されます。

ロケール ID 「en-US」(米国の英語)で CollatorMode.SORTING オプションを設定して、Collator を使用して作成したソート済みのリストの例を次に示します。

AaÄäAEaeÆæBbCcç

上に示したように、すべての文字が別々の値を持つかのように扱われていますが、言語順にソートされています。

ロケール ID 「en-US」(米国の英語)で CollatorMode.MATCHING オプションを設定して、Collator を使用して作成したソート済みのリストの例を次に示します。

A a Ä ä A aAE ae Æ æB b B bC c ç C c

凡例: 同じ行の文字は、比較およびソート中は等しい文字として扱われます。例えば、「a」(U+0040 = LATIN SMALL LETTER A)と「Ä」(U+00C4 = LATIN CAPITAL LETTER A WITH DIAERESIS)は等しい文字とみなされます。

上に示したように、一部の文字は言語順にソートされ、同じ文字値を持つものとして扱われています。

ソート順をさらに微調整するために、Collator.ignoreCaseCollator.ignoreDiacritics などの collator プロパティを変更できます。

参考のために、ロケールに依存しない標準の Array.sort() を使用して行った対応するソートの例を次に示します。

AAEBCaaebcÄÆäæç

上記のとおり、すべての文字が単純に Unicode の数値順にソートされています。これは言語的にはあまり意味がありません。

ユーザーの現在のオペレーティングシステム環境設定を使用するには、requestedLocaleIDName パラメーターの値 LocaleID.DEFAULT をコンストラクターに渡します。

ロケールによっては、ソート順のバリアントがあります。例えば、ドイツ語では、電話帳と辞書で使用されるソート順が異なります。中国語では、単語は通常、文字をぴん音に音訳することによってサポートされています。requestedLocaleIDName パラメーターでコンストラクターに渡される文字列に「collation」キーワードを含めることによって、このような様々なソート順を選択することができます。

var germanPhonebook:LocaleID = new LocaleID("de-DE@collation=phonebook"); var chinesePinyin:LocaleID = new LocaleID("zh-Hant@collation=pinyin");

照合文字列の有効な値を次に示します。影響を受ける言語を括弧内に示してあります。

照合文字列説明standard各言語のデフォルトの順序。 phonebook電話帳スタイルの順序(ドイツ語で使用)。pinyinラテン文字および CJK 文字用のぴん音順(文字単位でのぴん音への音訳に基づく CJK 文字の順序)。(中国語で使用)traditionalトラディショナルスタイルのソート用(スペイン語で使用) strokeラテン文字のぴん音順、CJK 文字の画数順(中国語で使用)direct(ヒンディー語で使用) big5hanラテン文字のぴん音順、CJK 文字の big5 文字セット順。(中国語で使用) gb2312han ラテン文字のぴん音順、CJK 文字の gb2312han 文字セット順。 (中国語で使用) unihanラテン文字のぴん音順、CJK 文字の Unihan 部首順。 (中国語で使用)

要求された照合タイプがホストプラットフォームでサポートされない場合は、代替の照合タイプが使用され、代替が選択されたことを示すように lastOperationStatus プロパティが設定されます。次の例に示すように、actualLocaleIDName プロパティを使用して、代替として使用された値を特定できます。

var collator:Collator = new Collator("fr-FR"); if (collator.lastOperationStatus == LastOperationStatus.USING_FALLBACK_WARNING) { trace ("Using fallback locale: " + collator.actualLocaleIDName); }

コンストラクターが正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

要求されたロケール ID を使用できない場合、lastOperationStatus プロパティは以下のいずれかに設定されます。

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

上記の警告および lastOperationStatus の有効な値について詳しくは、LastOperationStatus クラスの説明を参照してください。

CollatorModeLastOperationStatusLocaleIDlastOperationStatusrequestedLocaleIDNameactualLocaleIDName
compare 2 つの文字列を比較して、1 番目の文字列が 2 番目の文字列と比べて小さいか、等しいか、大きいかを示す整数値を返します。要求されたパラメーターが null の場合。 TypeErrorTypeErrorパラメーターに無効な値が含まれている場合。 ArgumentErrorArgumentError1 番目の文字列が 2 番目の文字列と比べて小さいか、等しいか、大きいかを示す整数値。
  • 戻り値が負の場合、string1string2 よりも小さいことを示します。
  • 戻り値が 0 の場合、string1string2 と等しいことを示します。
  • 戻り値が正の場合、string1string2 よりも大きいことを示します。
int
string1String最初の比較ストリング。 string2String2 番目の比較ストリング。
2 つの文字列を比較して、1 番目の文字列が 2 番目の文字列と比べて小さいか、等しいか、大きいかを示す整数値を返します。この比較では、Collator() コンストラクターで指定されたロケール ID のソート順ルールを使用します。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

equals()lastOperationStatusLastOperationStatus
equals 2 つの文字列を比較して、文字列が等しいかどうかを示すブール値を返します。要求されたパラメーターが null の場合。 TypeErrorTypeErrorパラメーターに無効な値が含まれている場合。 ArgumentErrorArgumentError文字列が等しい(true)か等しくない(false)かを示すブール値。 Booleanstring1String最初の比較ストリング。 string2String2 番目の比較ストリング。 2 つの文字列を比較して、文字列が等しいかどうかを示すブール値を返します。この比較では、Collator() コンストラクターで指定されたロケール ID のソート順ルールを使用します。

このメソッドが呼び出されて正しく完了すると、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

compare()lastOperationStatusLastOperationStatus
getAvailableLocaleIDNames このクラスでサポートされているすべてのロケール ID 名のリストが表示されます。このクラスでサポートされているすべてのロケール ID 名を含む文字列のベクトル。 このクラスでサポートされているすべてのロケール ID 名のリストが表示されます。

このクラスが現在のオペレーティングシステムでサポートされていない場合、このメソッドは null 値を返します。

actualLocaleIDName この Collator オブジェクトで使用される実際のロケール ID の名前。String この Collator オブジェクトで使用される実際のロケール ID の名前。

オペレーティングシステムおよび Collator() コンストラクターに渡される requestedLocaleIDName パラメーターの値に応じて、この名前の値には 3 つの可能性があります。

  1. 要求されたロケールが LocaleID.DEFAULT ではなく、要求されたロケールをオペレーティングシステムがサポートする場合、返される名前は requestedLocaleIDName プロパティと同じです。
  2. LocaleID.DEFAULT がコンストラクターに対する requestedLocaleIDName パラメーターの値として使用された場合、ユーザーのオペレーティングシステムによって指定された現在のロケールの名前が使用されます。LocaleID.DEFAULT 値により、ユーザーのカスタマイズした設定が OS に保持されます。requestedLocaleIDName パラメーターとして明示的な値を渡した場合に、2 つのロケール ID 名が同じでも LocaleID.DEFAULT を使用する場合と同じ結果になるとは限りません。ユーザーがマシンのロケール設定をカスタマイズし、LocaleID.DEFAULT を使用するのではなく、明示的なロケール ID 名を要求した場合、アプリケーションがそれらのカスタマイズされた設定を取得しない場合があります。

    次に実際の使用例を示します。

    var fmt:Collator = new Collator(LocaleID.DEFAULT); var aliName:String = fmt.actualLocaleIDName;

    上の例では、aliName はユーザーの現在のオペレーティングシステムの設定に対応するロケールの名前(例えば、ユーザーのロケールが「イタリア語 - イタリア」に設定されている場合、「it-IT」)になり、「i-default」(LocaleID.DEFAULT ロケールの名前)にはなりません。

  3. システムがコンストラクターで指定された requestedLocaleIDName をサポートしていない場合、代替のロケール ID 名が提供されます。

    次に例を示します。

    var fmt:Collator = new Collator("fr-CA"); var aliName:String = fmt.actualLocaleIDName;

    上の例のオペレーティングシステムが「fr-CA」(フランス語 - カナダ)ロケール ID をサポートしていないと仮定すれば、代替のロケール ID が使用されます。その場合、aliName 変数には、代替のロケール ID「fr-FR」(フランス語 - フランス)が含まれます。

LocaleIDrequestedLocaleIDName
ignoreCase このプロパティが true に設定されている場合、同一のストリングおよび大文字と小文字の区別だけが違うストリングが、等しいストリングとして評価されます。Boolean<code>true</code> when the <code>Collator()</code> constructor's <code>initialMode</code> parameter is set to <code>Collator.MATCHING</code>. <code>false</code> when the <code>Collator()</code> constructor's <code>initialMode</code> parameter is set to Collator.SORTING. このプロパティが true に設定されている場合、同一のストリングおよび大文字と小文字の区別だけが違うストリングが、等しいストリングとして評価されます。例えば、ignoreCase プロパティが true に設定されている場合、compare("ABC", "abc") プロパティは true を返します。

文字列の大文字と小文字の変換は、指定されたロケールのルールに従います。

ignoreCase プロパティが false に設定されている場合、大文字と小文字の文字は互いに等しくなりません。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティはLastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatuscompare()equals()LastOperationStatus
ignoreCharacterWidth このプロパティが true に設定されている場合、一部の中国語および日本語の文字の全角と半角の形が、等しい形として評価されます。Booleanfalse このプロパティが true に設定されている場合、一部の中国語および日本語の文字の全角と半角の形が、等しい形として評価されます。

中国語と日本語の文字セットの既存の標準との互換性を保つために、Unicode では、一部の文字の全角と半角の両方に対応する文字コードを提供しています。例えば、ignoreCharacterWidth プロパティが true に設定されている場合、compare("Aア", "Aア")true を返します。

ignoreCharacterWidth プロパティが false に設定されている場合、全角文字と半角文字はそれぞれ異なります。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatuscompare()equals()LastOperationStatus
ignoreDiacritics このプロパティが true に設定されている場合、ストリングで使用されている基本文字が同じであれば、アクセントやその他の識別記号の違いがあっても、同じストリングと評価されます。Booleanfalse このプロパティが true に設定されている場合、ストリングで使用されている基本文字が同じであれば、アクセントやその他の識別記号の違いがあっても、同じストリングと評価されます。例えば、ignoreDiacritics プロパティが true に設定されている場合、compare("coté", "côte")true を返します。

ignoreDiacriticsfalse に設定されている場合、アクセントやその他の識別記号の違いがある基本文字は同じとは見なされません。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatuscompare()equals()LastOperationStatus
ignoreKanaType このプロパティが true に設定されている場合、カナ文字の種類のみが異なる文字列は、等しい文字列として扱われます。Booleanfalse このプロパティが true に設定されている場合、カナ文字の種類のみが異なる文字列は、等しい文字列として扱われます。例えば、ignoreKanaType プロパティが true に設定されている場合、compare("カナ", "かな")true を返します。

ignoreKanaTypefalse に設定されている場合、同じ音節のひらがな文字とカタカナ文字とは同じものになりません。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatuscompare()equals()LastOperationStatus
ignoreSymbols このプロパティが true に設定されている場合、スペース、通貨記号、数学記号およびその他の種類の記号などの記号文字はソート時または照合時に無視されます。Booleanfalse このプロパティが true に設定されている場合、スペース、通貨記号、数学記号およびその他の種類の記号などの記号文字はソート時または照合時に無視されます。例えば、「OBrian」、「O'Brian」および「O Brian」などの文字列は、ignoreSymbols プロパティが true に設定されている場合、同じ文字列として扱われます。

ignoreSymbols プロパティが false に設定されている場合、記号はストリングの比較で考慮されます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatuscompare()equals()LastOperationStatus
lastOperationStatus この Collator オブジェクトが実行した最新の操作のステータス。String この Collator オブジェクトが実行した最新の操作のステータス。コンストラクターまたはこのクラスのメソッドが呼び出されたり、プロパティが設定されたりすると、必ず lastOperationStatus が設定されます。有効な値については、各メソッドの説明を参照してください。 LastOperationStatusnumericComparison ストリングに埋め込まれた数値の、ストリングの比較時の取扱方法を制御します。Booleanfalse ストリングに埋め込まれた数値の、ストリングの比較時の取扱方法を制御します。

numericComparison プロパティが true に設定されている場合、compare メソッドはストリング中の数字を比較用の数値に変換します。

このプロパティが false に設定されている場合、比較は数字を文字コードとして扱い、指定されたロケールの文字ソートのルールに従ってソートします。

例えば、このプロパティがロケール ID「en-US」に対して true の場合、ストリング「version1」、「version10」および「version2」は version1 < version2 < version10 の順でソートされます。

このプロパティが「en-US」に対して false の場合、同じストリングが version1 < version10 < version2 の順でソートされます。

このプロパティに値が割り当てられ、エラーや警告がない場合、lastOperationStatus プロパティが次のように設定されます。

  • LastOperationStatus.NO_ERROR

それ以外の場合、lastOperationStatus プロパティは LastOperationStatus クラスで定義された定数のいずれかに設定されます。

lastOperationStatuscompare()equals()LastOperationStatus
requestedLocaleIDName この Collator オブジェクトのコンストラクターに渡された、要求されたロケール ID の名前。String この Collator オブジェクトのコンストラクターに渡された、要求されたロケール ID の名前。

LocaleID.DEFAULT 値が使用された場合、返される名前は「i-default」です。代替のロケールが適用される場合、実際に使用されるロケールは要求されたロケールと異なる場合があります。 実際のロケール名は actualLocaleIDName プロパティを使用して取得できます。

LocaleIDactualLocaleIDName