| 套件 | flash.globalization |
| 類別 | public final class CurrencyFormatter |
| 繼承 | CurrencyFormatter Object |
| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
CurrencyFormatter 類別使用作業系統提供的資料與功能,根據特定地區設定與貨幣類型慣例,格式化貨幣值。 貨幣符號、負號、小數分隔符號、分組分隔符號、分組樣式小數分隔符號和其他元素的位置,會根據地區設定而異。
如果作業系統支援要求的地區設定,會根據要求的地區設定之慣例與預設值,來設定屬性與貨幣類型。若無法使用所要求的地區設定,則會根據後援或預設系統地區設定 (可使用 actualLocaleIDName 屬性擷取) 設定屬性。
由於所用的使用者設定、作業系統提供的格式化樣式,以及不支援所要求地區設定時所用的後援地區設定之不同,即使使用相同的地區設定 ID,不同使用者也會看到不同的格式化結果。
| 屬性 | 定義自 | ||
|---|---|---|---|
| actualLocaleIDName : String [唯讀]
此 CurrencyFormatter 物件所使用的實際地區設定 ID 名稱。 | CurrencyFormatter | ||
![]() | constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | |
| currencyISOCode : String [唯讀]
所用的實際地區設定之三個字母的 ISO 4217 貨幣代碼。 | CurrencyFormatter | ||
| currencySymbol : String [唯讀]
所用實際地區設定的貨幣符號或字串。 | CurrencyFormatter | ||
| decimalSeparator : String
用來格式化或解析含有小數部分的貨幣金額之小數分隔字元。 | CurrencyFormatter | ||
| digitsType : uint
定義格式化貨幣金額時所用的位數字元集。 | CurrencyFormatter | ||
| fractionalDigits : int
小數分隔符號後可出現的最大位數。 | CurrencyFormatter | ||
| groupingPattern : String
說明已格式化貨幣金額字串中,分組分隔符號的位置。 | CurrencyFormatter | ||
| groupingSeparator : String
用於分組分隔符號的字元或字串。 | CurrencyFormatter | ||
| lastOperationStatus : String [唯讀]
此 CurrencyFormatter 物件執行的最近作業狀態。 | CurrencyFormatter | ||
| leadingZero : Boolean
指定若小數分隔符號左邊沒有整數位數,是否要在格式化的貨幣金額中補上開頭的零。 | CurrencyFormatter | ||
| negativeCurrencyFormat : uint
表示負值貨幣金額格式化樣式的數值。 | CurrencyFormatter | ||
| negativeSymbol : String
格式化負值金額時所使用的負號。 | CurrencyFormatter | ||
| positiveCurrencyFormat : uint
表示正值貨幣金額格式化樣式的數值。 | CurrencyFormatter | ||
| requestedLocaleIDName : String [唯讀]
傳送到此 CurrencyFormatter 物件建構函式的所要求地區設定 ID 名稱。 | CurrencyFormatter | ||
| trailingZeros : Boolean
指定格式化後的貨幣金額是否包含結尾零。 | CurrencyFormatter | ||
| useGrouping : Boolean
格式化貨幣金額時,啟用分組分隔符號。 | CurrencyFormatter | ||
| 方法 | 定義自 | ||
|---|---|---|---|
CurrencyFormatter(requestedLocaleIDName:String)
建構新 CurrencyFormatter 物件,以根據特定地區設定的慣例,格式化代表貨幣金額的數字。 | CurrencyFormatter | ||
建立一個字串,代表根據此 CurrencyFormatter 物件的目前屬性來格式化的貨幣金額,目前屬性包括地區設定、貨幣符號與貨幣 ISO 代碼。 | CurrencyFormatter | ||
判斷格式化貨幣金額時,可否使用目前指定的貨幣符號。 | CurrencyFormatter | ||
[靜態]
列出此類別支援的所有地區設定 ID 名稱。 | CurrencyFormatter | ||
![]() |
指出物件是否有已定義的指定屬性。 | Object | |
![]() |
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | |
將字串剖析為貨幣金額與貨幣符號。 | CurrencyFormatter | ||
![]() |
指出指定的屬性是否存在,以及是否可列舉。 | Object | |
設定 CurrencyFormatter 物件的 currencyISOCode 和 currencySymbol 屬性。 | CurrencyFormatter | ||
![]() |
為迴圈作業設定動態屬性的可用性。 | Object | |
![]() |
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | |
![]() |
會傳回指定之物件的字串形式。 | Object | |
![]() |
會傳回指定之物件的基本值。 | Object | |
actualLocaleIDName | 屬性 |
actualLocaleIDName:String [唯讀] | 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
此 CurrencyFormatter 物件所使用的實際地區設定 ID 名稱。
根據作業系統與 requestedLocaleIDName 參數傳送到 CurrencyFormatter() 建構函式的值,此值有三種可能情況。
- 若要求的地區設定不是
LocaleID.DEFAULT,而且作業系統支援要求的地區設定,則傳回的名稱會與requestedLocaleIDName屬性相同。 - 若使用
LocaleID.DEFAULT當作建構函式requestedLocaleIDName參數的值,則會使用使用者作業系統指定的目前地區設定名稱。LocaleID.DEFAULT值會將使用者的自訂設定保留於作業系統中。即使兩個地區設定 ID 名稱是相同的,傳送明確的值作為requestedLocaleIDName參數所得的結果,也未必與使用LocaleID.DEFAULT相同。使用者可能在自己的電腦上已有自訂的地區設定,若要求明確的地區設定 ID 名稱而不是使用LocaleID.DEFAULT的話,您的應用程式不會擷取這些自訂設定。 - 若系統不支援建構函式所指定的
requestedLocaleIDName,則會提供後援地區設定 ID 名稱。
實作
public function get actualLocaleIDName():String相關 API 元素
currencyISOCode | 屬性 |
currencyISOCode:String [唯讀] | 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
所用的實際地區設定之三個字母的 ISO 4217 貨幣代碼。
若在 withCurrencySymbol 參數設為 false 時,使用 format() 方法格式化貨幣金額,將使用此代碼來判斷貨幣符號或字串。
建構函式會根據所使用的實際地區設定,初始化此屬性。若使用後援地區設定,此屬性會反映後援地區設定的偏好、預設貨幣代碼。
預設值為 dependent on the actual locale and operating system。
實作
public function get currencyISOCode():String相關 API 元素
currencySymbol | 屬性 |
currencySymbol:String [唯讀] | 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
所用實際地區設定的貨幣符號或字串。
若在 withCurrencySymbol 參數設為 true 時,使用 format() 方法格式化貨幣金額,將使用此屬性做為貨幣符號。
建構函式會根據所使用的實際地區設定,初始化此屬性。若使用後援地區設定,此屬性會反映後援地區設定的偏好、預設貨幣符號。
預設值為 dependent on the actual locale and operating system。
實作
public function get currencySymbol():String相關 API 元素
decimalSeparator | 屬性 |
decimalSeparator:String| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
用來格式化或解析含有小數部分的貨幣金額之小數分隔字元。
此屬性的初始設定,會根據建構格式化程式物件時選取的地區設定而定。
若將某值指派給此屬性,而且沒有錯誤或警告,則 lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
預設值為 dependent on the actual locale and operating system。
實作
public function get decimalSeparator():String public function set decimalSeparator(value:String):void擲回值
TypeError — 若此屬性被指派 null 值。
|
相關 API 元素
digitsType | 屬性 |
digitsType:uint| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
定義格式化貨幣金額時所用的位數字元集。
不同的語言與區域使用不同的字元集來表示數字 0 到 9。此屬性會定義要使用的位數組。
此屬性的值代表十進位位數組中,數字零的 Unicode 值。此屬性的有效值定義於 NationalDigitsType 類別中。
若將某值指派給此屬性,而且沒有錯誤或警告,則 lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
預設值為 dependent on the actual locale and operating system。
實作
public function get digitsType():uint public function set digitsType(value:uint):void擲回值
TypeError — 若此屬性被指派 null 值。
|
相關 API 元素
fractionalDigits | 屬性 |
fractionalDigits:int| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
小數分隔符號後可出現的最大位數。
數字會根據此屬性指定的位數,進行四捨五入。四捨五入配置會隨使用者的作業系統而異。
若 trailingZeros 屬性設為 true,數字的小數部份 (小數點後的部分) 會在結尾填補零至此 fractionalDigits 屬性值指定的長度。
若將某值指派給此屬性,而且沒有錯誤或警告,則 lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
預設值為 0。
實作
public function get fractionalDigits():int public function set fractionalDigits(value:int):void相關 API 元素
groupingPattern | 屬性 |
groupingPattern:String| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
說明已格式化貨幣金額字串中,分組分隔符號的位置。
若 useGrouping 屬性設為 true,會使用 groupingPattern 屬性來定義分組分隔符號的位置與樣式。
分組樣式定義為包含數字的字串,這些數字以分號隔開,而且可選擇性以星號結尾。例如:"3;2;*"。此字串中的各個數字都代表分組中的位數。分組分隔符號會置於每一組位數前。字串結尾的星號表示要重複使用此位數組別,對字串的其餘部分進行格式化。若沒有星號,表示格式化字串的其餘部分不會有其他組別或分隔符號。
字串中第一個數字代表小數分隔符號向左算起的第一組該有幾位數。後續數字定義向左算起各後續組別中的位數。因此「3;2;*」這個字串表示,第一個分組分隔符號放第一組 3 位數後,其他部分以 2 位數分組。例如:98,76,54,321
下表顯示以不同分組樣式對貨幣金額 123456789.12 進行格式化的結果。分組分隔符號為逗號,小數分隔符號為句號,錢字號 ($) 為貨幣符號。
| 分組樣式 | 範例格式 |
3;* | $123,456,789.12 |
3;2;* | $12,34,56,789.12 |
3 | $123456,789.12 |
可定義的分組大小數目有限。在某些作業系統上,分組樣式只能包含兩個數字加上一個星號。其他作業系統可支援最多四個數字和一個星號。對於沒有星號的樣式,有些作業系統只支援一個數字,有些作業系統支援最多三個數字。若超出分組樣式元素上限,會忽略其他元素,並設定 lastOperationStatus 屬性,如下所述。
若將某值指派給此屬性,而且沒有錯誤或警告,則 lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
實作
public function get groupingPattern():String public function set groupingPattern(value:String):void擲回值
TypeError — 若此屬性被指派 null 值。
|
相關 API 元素
groupingSeparator | 屬性 |
groupingSeparator:String| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
用於分組分隔符號的字元或字串。
在 useGrouping 屬性設為 true 時,會在格式化貨幣金額時使用此屬性的值當做分組分隔符號。此屬性的初始設定,會根據建構格式化程式物件時選取的地區設定而定。
若將某值指派給此屬性,而且沒有錯誤或警告,則 lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
預設值為 dependent on the actual locale and operating system。
實作
public function get groupingSeparator():String public function set groupingSeparator(value:String):void擲回值
TypeError — 若此屬性被指派 null 值。
|
相關 API 元素
lastOperationStatus | 屬性 |
leadingZero | 屬性 |
leadingZero:Boolean| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
指定若小數分隔符號左邊沒有整數位數,是否要在格式化的貨幣金額中補上開頭的零。
若此屬性設為 true,會在格式化 -1.0 至 1.0 之間的數值時,在小數分隔符號左邊補上零。若此屬性設為 false,則不會包含開頭的零。
例如,若貨幣金額為 0.321,且此屬性設為 true,則格式化後的字串會包含開頭的零。若此屬性設為 false,則不會包含開頭的零。在這種情況下,字串只會包含小數分隔符號,後面接著小數位數,如 $.321。
下表顯示根據此屬性與相關 fractionalDigits 和 trailingZeros 屬性的值,對貨幣金額進行格式化的結果。
| trailingZeros | leadingZero | fractionalDigits | 0.12 | 0 |
| true | true | 3 | $0.120 | $0.000 |
| false | true | 3 | $0.12 | $0 |
| true | false | 3 | $.120 | $.000 |
| false | false | 3 | $.12 | $0 |
若將某值指派給此屬性,而且沒有錯誤或警告,則 lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
預設值為 dependent on the actual locale and operating system。
實作
public function get leadingZero():Boolean public function set leadingZero(value:Boolean):void擲回值
TypeError — 若此屬性被指派 null 值。
|
相關 API 元素
negativeCurrencyFormat | 屬性 |
negativeCurrencyFormat:uint| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
表示負值貨幣金額格式化樣式的數值。此樣式定義貨幣金額中,貨幣符號與負號或括弧相對於數字部分的位置。
此屬性的值必須為下表定義的常數之一。
下表摘要負值貨幣金額的可能格式化樣式。若使用 format() 方法對貨幣金額進行格式化:
- 根據傳至
format()方法的withCurrencySymbol參數值,會使用currencyISOCode或currencySymbol屬性的值取代「¤」符號; - 以
negativeNumberSymbol屬性的值取代「-」字元; - 以傳至
format()方法的貨幣金額值取代「n」字元。
| 負值貨幣格式類型 | 格式化樣式 |
| 0 | (¤n) |
| 1 | -¤n |
| 2 | ¤-n |
| 3 | ¤n- |
| 4 | (n¤) |
| 5 | -n¤ |
| 6 | n-¤ |
| 7 | n¤- |
| 8 | -n ¤ |
| 9 | -¤ n |
| 10 | n ¤- |
| 11 | ¤ n- |
| 12 | ¤ -n |
| 13 | n- ¤ |
| 14 | (¤ n) |
| 15 | (n ¤) |
若將某值指派給此屬性,而且沒有錯誤或警告,則 lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
預設值為 dependent on the actual locale and operating system。
實作
public function get negativeCurrencyFormat():uint public function set negativeCurrencyFormat(value:uint):void擲回值
ArgumentError — 若指派的值不介於 0 到 15 之間。
|
相關 API 元素
negativeSymbol | 屬性 |
negativeSymbol:String| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
格式化負值金額時所使用的負號。
對小於零的貨幣金額進行格式化時,會使用此符號搭配負值貨幣格式。並不會用於未包含負號的負值貨幣格式 (例如,包含於括弧中的負值貨幣金額)。
若將某值指派給此屬性,而且沒有錯誤或警告,則 lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
預設值為 dependent on the actual locale and operating system。
實作
public function get negativeSymbol():String public function set negativeSymbol(value:String):void擲回值
TypeError — 若此屬性被指派 null 值。
|
相關 API 元素
positiveCurrencyFormat | 屬性 |
positiveCurrencyFormat:uint| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
表示正值貨幣金額格式化樣式的數值。此格式定義貨幣金額中,貨幣符號相對於數字部分的位置。
此屬性的值必須為下表定義的常數之一。
下表摘要正值貨幣金額的可能格式化樣式。若使用 format() 方法對貨幣金額進行格式化:
- 根據傳至
format()方法的withCurrencySymbol參數值,會使用currencyISOCode或currencySymbol屬性的值取代「¤」符號; - 以傳至
format()方法的貨幣金額值取代「n」字元。
| 正值貨幣格式類型 | 格式化樣式 |
| 0 | ¤n |
| 1 | n¤ |
| 2 | ¤ n |
| 3 | n ¤ |
若將某值指派給此屬性,而且沒有錯誤或警告,則 lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
預設值為 dependent on the actual locale and operating system。
實作
public function get positiveCurrencyFormat():uint public function set positiveCurrencyFormat(value:uint):void擲回值
ArgumentError — 若指派的值不介於 0 到 3 之間。
|
相關 API 元素
requestedLocaleIDName | 屬性 |
requestedLocaleIDName:String [唯讀] | 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
傳送到此 CurrencyFormatter 物件建構函式的所要求地區設定 ID 名稱。
若使用 LocaleID.DEFAULT 值,則傳回的名稱會是 "i-default"。若採用後援地區設定,則所用的實際地區設定可能與要求的地區設定不同。您可以使用 actualLocaleIDName 屬性擷取實際地區設定名稱。
實作
public function get requestedLocaleIDName():String相關 API 元素
trailingZeros | 屬性 |
trailingZeros:Boolean| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
指定格式化後的貨幣金額是否包含結尾零。
若此屬性設為 true,格式化後的數字小數部分會包含結尾零,補滿至 fractionalDigits 屬性所指定的位數。若此屬性設為 false,則不會顯示結尾零。
例如,若貨幣金額為 123.4,且此屬性設為 true,而 fractionalDigits 屬性設為 3,則格式化後的字串會顯示結尾零,如 $123.400。若此屬性為 false,則字串中不會有結尾零,而只會顯示小數分隔符號,接著非零小數位數 (如 123.4)。
下表顯示根據此屬性與相關 fractionalDigits 和 leadingZero 屬性的值,對貨幣金額進行格式化的結果。
| trailingZeros | leadingZero | fractionalDigits | 0.12 | 0 |
| true | true | 3 | $0.120 | $0.000 |
| false | true | 3 | $0.12 | $0 |
| true | false | 3 | $.120 | $.000 |
| false | false | 3 | $.12 | $0 |
若將某值指派給此屬性,而且沒有錯誤或警告,則 lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
預設值為 dependent on the actual locale and operating system。
實作
public function get trailingZeros():Boolean public function set trailingZeros(value:Boolean):void擲回值
TypeError — 若此屬性被指派 null 值。
|
相關 API 元素
useGrouping | 屬性 |
useGrouping:Boolean| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
格式化貨幣金額時,啟用分組分隔符號。
若 useGrouping 屬性設為 true,會將位數分組,並以分組分隔字元隔開。例如:$123,456,789
若 useGrouping 屬性設為 false,位數之間就不會有分組或隔開的動作。例如:$123456789
groupingSeparator 屬性會定義做為分組分隔符號的符號。groupingPattern 屬性會定義分組分隔符號之間的位數。
若將某值指派給此屬性,而且沒有錯誤或警告,則 lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
實作
public function get useGrouping():Boolean public function set useGrouping(value:Boolean):void相關 API 元素
CurrencyFormatter | () | 建構函式 |
public function CurrencyFormatter(requestedLocaleIDName:String)| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
建構新 CurrencyFormatter 物件,以根據特定地區設定的慣例,格式化代表貨幣金額的數字。
此建構函式會判斷目前的作業系統是否支援要求的地區設定 ID 名稱。若不支援,則會改用後援地區設定。若使用後援地區設定,則 lastOperationStatus 屬性會指示後援類型,而 actualLocaleIDName 屬性會包含後援地區設定 ID 的名稱。
currencySymbol 和 currencyISOCode 等特定屬性,會根據地區設定自動設定。
注意:若使用後援地區設定,則貨幣屬性會設定成預設值,因此 currencySymbol 或 currencyISOCode 屬性可能會得到未預期的值。 建議您先檢查 currencySymbol 和 currencyISOCode 屬性值,再對貨幣金額進行格式化。
若要根據使用者目前作業系統的偏好設定進行格式化,請將 requestedLocaleIDName 參數中的 LocaleID.DEFAULT 值傳送到建構函式。
當建構函式被呼叫並成功完成時,lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
若要求的地區設定 ID 名稱無法使用,則 lastOperationStatus 會被設為下列之一:
LastOperationStatus.USING_FALLBACK_WARNINGLastOperationStatus.USING_DEFAULT_WARNING
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
如需有關上方列出的警告以及 lastOperationStatus 屬性的其他可能值的詳細資訊,請參閱 LastOperationStatus 類別的說明。
requestedLocaleIDName:String — 判斷日期或時間格式時要使用的偏好地區設定 ID 名稱。
|
擲回值
TypeError — 若 requestedLocaleIDName 參數為 null。
|
相關 API 元素
format | () | 方法 |
public function format(value:Number, withCurrencySymbol:Boolean = false):String| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
建立一個字串,代表根據此 CurrencyFormatter 物件的目前屬性來格式化的貨幣金額,目前屬性包括地區設定、貨幣符號與貨幣 ISO 代碼。
依照預設,此方法使用 currencyISOCode 屬性,判斷格式化時要使用的貨幣符號與其他設定。
許多國家與地區對於不同貨幣使用相同的貨幣符號。例如,美國、澳洲、紐西蘭、加拿大和墨西哥等地的貨幣都使用相同的錢字號 ($)。若要格式化的貨幣與使用者當地貨幣不同,建議使用 ISO 代碼作為貨幣字串。您可以使用 formattingWithCurrencySymbolIsSafe() 方法,測試要格式化的貨幣 ISO 代碼是否符合格式化程式的 currencyISOCode 屬性。
此方法可格式化極大和極小的純數。但有效位數受到 Number 資料類型提供之精確度的限制。
參數
value:Number — 要格式化為貨幣字串的數值。
| |
withCurrencySymbol:Boolean (default = false) — 若設為 false,currencyISOCode 屬性會決定輸出字串中要使用的貨幣字串或符號。若設為 true,輸出字串中會使用 currencySymbol 屬性的目前值。
|
String — 包含已格式化貨幣值的字串。
|
相關 API 元素
currencyISOCode
formattingWithCurrencySymbolIsSafe()
lastOperationStatus
LastOperationStatus
範例 ( 如何使用本範例 )
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 $"
第二個範例顯示使用預設的使用者地區設定,將貨幣金額格式化為加拿大幣的方法。formattingWithCurrencySymbolIsSafe() 方法可用來測試使用者的預設貨幣是否為加拿大幣,若是的話,會將 withCurrencySymbol 參數設為 true 以使用格式化方法。否則會將貨幣設為加拿大幣,加上更具描述性的貨幣符號。範例顯示若預設地區設定為「法文 (加拿大)」或「英文 (美國)」時,對貨幣進行格式化的方式。
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"
}
formattingWithCurrencySymbolIsSafe | () | 方法 |
public function formattingWithCurrencySymbolIsSafe(requestedISOCode:String):Boolean| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
判斷格式化貨幣金額時,可否使用目前指定的貨幣符號。
許多地區和國家使用相同的貨幣符號。若貨幣符號模稜兩可,或貨幣符號或 ISO 代碼由於使用後援地區設定而與預期有異,可使用此方法予以避免。
此方法的常見使用案例,是用來判斷是否顯示當地貨幣符號 (若金額將格式化為使用者預設貨幣),或更特定的 ISO 代碼字串 (若金額將格式化為使用者預設值以外的其他貨幣)。
此方法會比較 requestedISOCode 參數與 currencyISOCode 屬性,若字串相同,則傳回 true,若不同則傳回 false。若字串相同,則使用 format() 方法並將 withCurrencySymbol 參數設為 true,會得到格式化的貨幣值字串 (含該地區設定的專用貨幣符號)。若此方法傳回 false,則使用 format() 方法並將 withCurrencySymbol 參數設為 true,會導致所用的貨幣符號模稜兩可或錯誤。
當此方法被呼叫並成功完成時,lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
參數
requestedISOCode:String — 三個字母的 ISO 4217 貨幣代碼 (例如,美金為 USD,歐元為 EUR)。必須包含從 A 到 Z 的三個大寫字母。
|
Boolean — 若 currencyISOCode 屬性符合 requestedISOCode 參數,則為 true;反之則為 false。
|
擲回值
TypeError — 若 requestedISOCode 參數為 null。
|
相關 API 元素
getAvailableLocaleIDNames | () | 方法 |
public static function getAvailableLocaleIDNames():Vector.<String>| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
列出此類別支援的所有地區設定 ID 名稱。
若目前的作業系統不支援此類別,此方法會傳回 null 值。
當此方法被呼叫並成功完成時,lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
Vector.<String> — 包含此類別支援的所有地區設定 ID 名稱之字串向量。
|
parse | () | 方法 |
public function parse(inputString:String):CurrencyParseResult| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
將字串剖析為貨幣金額與貨幣符號。
解析演算法使用 decimalSeparator 屬性的值,判斷數字的整數與小數部分。它會使用 negativeCurrencyFormat 和 positiveCurrencyFormat 屬性的值,判斷貨幣符號或字串相對於貨幣金額的位置。若金額為負值,則 negativeCurrencyFormat 屬性的值會判斷負號的位置以及是否使用括弧。
若輸入字串中的貨幣符號、負號與數字順序與 negativeCurrencyFormat 和 positiveCurrencyFormat 屬性所分辨出的樣式不符,則:
- 所傳回 CurrencyParseResult 物件的
value屬性會設為NaN。 - 所傳回 CurrencyParseResult 物件的
currencyString屬性會設為null。 lastOperationStatus屬性會設為表示解析失敗的值。
輸入字串可包含空白字元,這些字元在解析時會被忽略。
即使無貨幣符號,也能成功解析。對於與貨幣符號對應的字串部分,不會進行驗證。若無貨幣符號或字串,所傳回 CurrencyParseResult 物件的 currencyString 屬性會被設為空字串。
當此方法被呼叫並成功完成時,lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus 屬性會被設為 LastOperationStatus 類別中定義的常數之一。
參數
inputString:String — 要剖析的輸入字串。
|
CurrencyParseResult — 包含數值與貨幣符號或字串的 CurrencyParseResult 物件。
|
擲回值
TypeError — 若 inputString 參數為 null。
|
相關 API 元素
setCurrency | () | 方法 |
public function setCurrency(currencyISOCode:String, currencySymbol:String):void| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10.1, AIR 2 |
設定 CurrencyFormatter 物件的 currencyISOCode 和 currencySymbol 屬性。
當此方法被呼叫並成功完成時,lastOperationStatus 屬性會被設為:
LastOperationStatus.NO_ERROR
否則不會修改 currencyISOCode 和 currencySymbol 屬性的值,而且 lastOperationStatus 屬性會被設為 LastOperationStatus 類別中所定義的常數之一。
參數
currencyISOCode:String — 三個字母的 ISO 4217 貨幣代碼 (例如,美金為 USD,歐元為 EUR)。必須包含從 A 到 Z 的三個大寫字母。
| |
currencySymbol:String — 格式化貨幣值時所使用的貨幣符號或字串。這可以是空字串。
|
擲回值
TypeError — 若 currencyISOCode 或 currencySymbol 參數為 null。
|
相關 API 元素
此範例會使用以下的地區設定:
- 貨幣格式的預設作業系統 (
LocaleID.DEFAULT) - 日文 (日本)
- 英文 (美國)
- 法文 (法國)
此範例會為清單中的每一個地區設定執行以下動作:
- 建立 CurrencyFormatter 物件
- 請使用
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);
}
}
}
}
}
這個範例會執行以下步驟:
- 為英文 (美國) 地區設定建立一個 CurrencyFormatter 物件。
- 使用
parse()方法來剖析輸入字串。 - 從產生的 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);
}
}
}
}
Tue Jun 12 2018, 03:47 PM Z
隱藏繼承公用屬性
顯示繼承公用屬性