套件 | spark.formatters |
類別 | public class NumberFormatter |
繼承 | NumberFormatter NumberFormatterBase GlobalizationBase AdvancedStyleClient EventDispatcher Object |
實作 | IFormatter |
語言版本: | ActionScript 3.0 |
產品版本: | Flex 4.5 |
執行階段版本: | Flash Player 10.1, AIR 2.5 |
int
,
uint
, and Number
objects.
This class is a wrapper class around the flash.globalization.NumberFormatter class. Therefore, the locale-specific formatting is provided by the flash.globalization.NumberFormatter. However, this NumberFormatter class can be used in MXML declarations, uses the locale style for the requested Locale ID name, and has methods and properties that are bindable.
The flash.globalization.NumberFormatter class use the underlying operating system for the formatting functionality and to supply the locale-specific data. On some operating systems, the flash.globalization classes are unsupported, on these systems this wrapper class provides fallback functionality.
MXML 語法隱藏 MXML 語法The <s:NumberFormatter>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:NumberFormatter Properties negativeNumberFormat="locale and OS dependent" />
更多範例
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
actualLocaleIDName : String [覆寫] [唯讀]
The name of the actual locale ID used by this class object. | NumberFormatter | ||
className : String [唯讀]
The name of the component class. | AdvancedStyleClient | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
decimalSeparator : String
The decimal separator character used for formatting or parsing
numbers that have a decimal part. | NumberFormatterBase | ||
digitsType : uint
Defines the set of digit characters to be used when
formatting numbers. | NumberFormatterBase | ||
errorText : String
Replacement string returned by the format() method
when an error occurs. | NumberFormatterBase | ||
fractionalDigits : int
The maximum number of digits that can appear after the decimal
separator. | NumberFormatterBase | ||
groupingPattern : String
Describes the placement of grouping separators within the
formatted number string. | NumberFormatterBase | ||
groupingSeparator : String
The character or string used for the grouping separator. | NumberFormatterBase | ||
id : String
The identity of the component. | AdvancedStyleClient | ||
inheritingStyles : Object
An object containing the inheritable styles for this non-visual
style client instance. | AdvancedStyleClient | ||
lastOperationStatus : String [覆寫] [唯讀]
The status of the most recent operation that this class object
performed. | NumberFormatterBase | ||
leadingZero : Boolean
Specifies whether a leading zero is included in a formatted
number when there are no integer digits to the left of the decimal
separator. | NumberFormatterBase | ||
moduleFactory : IFlexModuleFactory
A module factory is used as context for
finding the style manager that controls the styles for this
non-visual style client instance. | AdvancedStyleClient | ||
negativeNumberFormat : uint
A numeric value that indicates a formatting pattern for negative
numbers. | NumberFormatter | ||
negativeSymbol : String
The negative symbol to be used when formatting negative values. | NumberFormatterBase | ||
nonInheritingStyles : Object
The beginning of this component's chain of non-inheriting styles. | AdvancedStyleClient | ||
styleDeclaration : CSSStyleDeclaration
The style declaration that holds the inline styles declared by this
object. | AdvancedStyleClient | ||
styleManager : IStyleManager2 [唯讀]
Returns the StyleManager instance used by this component. | AdvancedStyleClient | ||
styleName : Object
The source of this object's style values. | AdvancedStyleClient | ||
styleParent : IAdvancedStyleClient
A component's parent is used to evaluate descendant selectors. | AdvancedStyleClient | ||
trailingZeros : Boolean
Specifies whether trailing zeros are included in a formatted number. | NumberFormatterBase | ||
useGrouping : Boolean
Enables the use of the grouping separator when formatting numbers. | NumberFormatterBase |
方法 | 定義自 | ||
---|---|---|---|
Constructs a new NumberFormatter object to format numbers according
to the conventions of a given locale. | NumberFormatter | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
Deletes a style property from this component instance. | AdvancedStyleClient | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
Formats a number. | NumberFormatter | ||
[靜態]
Lists all of the locale ID names supported by this class. | NumberFormatter | ||
Returns an Array of CSSStyleDeclaration objects for the type selector
that applies to this component, or null if none exist. | AdvancedStyleClient | ||
[覆寫]
Gets a style property that has been set anywhere in this
component's style lookup chain. | GlobalizationBase | ||
Returns true if currentCSSState is not null. | AdvancedStyleClient | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
The initialized method is called when this class or a class that
extends this class is used in an MXML declaration. | AdvancedStyleClient | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
Returns true if cssState matches currentCSSState. | AdvancedStyleClient | ||
Determines whether this instance is the same as, or is a subclass of,
the given type. | AdvancedStyleClient | ||
Propagates style changes to the children of this style client
instance. | AdvancedStyleClient | ||
Parses a string and returns a NumberParseResult object
containing the parsed elements. | NumberFormatter | ||
Parses a string that contains only digits and optional whitespace
characters and returns a Number. | NumberFormatter | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
Sets up the internal style cache values so that the
getStyle()
method functions. | AdvancedStyleClient | ||
Registers the EffectManager as one of the event listeners
for each effect event. | AdvancedStyleClient | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
Sets a style property on this component instance. | AdvancedStyleClient | ||
Detects changes to style properties. | AdvancedStyleClient | ||
Flex calls the stylesInitialized() method when
the styles for a component are first initialized. | AdvancedStyleClient | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
actualLocaleIDName | 屬性 |
actualLocaleIDName:String
[唯讀] [覆寫] 語言版本: | ActionScript 3.0 |
產品版本: | Flex 4.5 |
執行階段版本: | Flash Player 10.1, AIR 2.5 |
The name of the actual locale ID used by this class object. This is the locale that is used to access the formatting data and functionality from the operating system.
If the locale that was set by the locale
style is not available,
then the value of the actualLocaleIDName
is different
from the value of the locale
style.
It indicates the fallback locale that is being used.
If the locale style was set to LocaleID.DEFAULT
the
name of the locale specified by the user's operating system is
used.
此屬性可以做為資料繫結的來源。一旦修改此屬性,將傳送 change
事件。
實作
override public function get actualLocaleIDName():String
相關 API 元素
NumberFormatter()
negativeNumberFormat | 屬性 |
negativeNumberFormat:uint
語言版本: | ActionScript 3.0 |
產品版本: | Flex 4.5 |
執行階段版本: | Flash Player 10.1, AIR 2.5 |
A numeric value that indicates a formatting pattern for negative numbers. This pattern defines the location of the negative symbol or parentheses in relation to the numeric portion of the formatted number.
The following table summarizes the possible formats for
negative numbers. When a negative number is formatted,
the minus sign in the format is replaced with the value of
the negativeSymbol
property and the 'n' character is
replaced with the formatted numeric value.
Negative number format type | Format |
0 | (n) |
1 | -n |
2 | - n |
3 | n- |
4 | n - |
The default value is dependent on the locale and operating system.
此屬性可以做為資料繫結的來源。一旦修改此屬性,將傳送 change
事件。
實作
public function get negativeNumberFormat():uint
public function set negativeNumberFormat(value:uint):void
擲回值
ArgumentError — if the assigned value is not a number
between 0 and 4.
|
相關 API 元素
NumberFormatter | () | 建構函式 |
public function NumberFormatter()
語言版本: | ActionScript 3.0 |
產品版本: | Flex 4.5 |
執行階段版本: | Flash Player 10.1, AIR 2.5 |
Constructs a new NumberFormatter object to format numbers according to the conventions of a given locale.
The locale for this class is supplied by the locale style. The locale style can be set in several ways:
-
By using the class in an MXML declaration and inheriting the
locale from the document that contains the declaration.
Example:
<fx:Declarations> <s:NumberFormatter id="nf" /> </fx:Declarations>
-
By using an MXML declaration and specifying the locale value in
the list of assignments.
Example:
<fx:Declarations> <s:NumberFormatter id="nf_French_France" locale="fr_FR" /> </fx:Declarations>
-
Calling the setStyle method. For example:
nf.setStyle("locale", "fr-FR")
-
Inheriting the style from a
UIComponent
by calling the UIComponent'saddStyleClient()
method.
If the locale
style is not set by one of the above
techniques, the instance of this class will be added as a
StyleClient
to the topLevelApplication
and
will therefore inherit the locale
style from the
topLevelApplication
object when the locale
dependent property getter or locale
dependent method is
called.
Most of the properties of this class are automatically set based on the locale style. If the locale style is changed, any properties that have not been explicitly set will also be updated based on the new locale. Note that the actual locale that is used is specified by the actualLocaleIDName property.
相關 API 元素
format | () | 方法 |
public function format(value:Object):String
語言版本: | ActionScript 3.0 |
產品版本: | Flex 4.5 |
執行階段版本: | Flash Player 10.1, AIR 2.5 |
Formats a number.
This function formats the number based on the property values
of the formatter.
If the properties are not modified after the locale
style is set,
the numbers are formatted according to the locale-specific conventions
provided by the operating system for the locale identified
by the actualLocaleIDName
property.
To customize the format, the properties
can be altered to control specific aspects of formatting a number.
Very large numbers and very small magnitude numbers can be
formatted with this function. However, the
number of significant digits is limited to the precision provided
by the Number
object. Scientific notation is not
supported.
If there is an error when formatting, due to an illegal input value
or other error, by default the format()
method
returns null
.
However if the errorText
property
is non-null, then the value of the errorText
property
is returned. The lastOperationStatus
property will be
set to indicate the error that occurred.
參數
value:Object — An object containing a number value to format. If the
object is not a Number then it is converted
to a number using the Number() conversion function.
|
String — A formatted number string.
|
相關 API 元素
getAvailableLocaleIDNames | () | 方法 |
public static function getAvailableLocaleIDNames():Vector.<String>
語言版本: | ActionScript 3.0 |
產品版本: | Flex 4.5 |
執行階段版本: | Flash Player 10.1, AIR 2.5 |
Lists all of the locale ID names supported by this class. This is a list of locales supported by the operating system, not a list of locales that the ResourceManager has resources for.
傳回值Vector.<String> — A vector of strings containing all of the locale ID names
supported by this class and operating system.
|
parse | () | 方法 |
public function parse(inputString:String):NumberParseResult
語言版本: | ActionScript 3.0 |
產品版本: | Flex 4.5 |
執行階段版本: | Flash Player 10.1, AIR 2.5 |
Parses a string and returns a NumberParseResult
object
containing the parsed elements.
The NumberParseResult
object contains
the value of the first number found in the input string, the
starting index for the number within the string, and the index
of the first character after the number in the string.
If the string does not contain a number, the value property of
the NumberParseResult is set to NaN
and the
startIndex
and endIndex
properties are
set to the hexadecimal value 0x7fffffff
.
This function uses the value of the decimalSeparator
property to determine the portion of the number
that contains fractional
digits, and the groupingSeparator
property to determine
which characters are allowed within the digits of a number,
and the negativeNumberFormat
property to control
how negative values are represented.
The following table identifies the result of strings parsed
for the various NegativeNumberFormat
values:
NegativeNumberFormat | Input String | Result |
(n) | "(123)" or "( 123 )" | "-123" |
-n | "-123" or "- 123" | "-123" |
- n | "-123" or "- 123" | "-123" |
n- | "123-" or "123 -" | "-123" |
n - | "123-" or "123 -" | "-123" |
A single white space is allowed between the number and the minus sign or parenthesis. A white space character is a character that has a Space Separator (Zs) property in the Unicode Character Database. For more information, see http://www.unicode.org/ucd/).
Other properties are ignored when determining a valid number.
Specifically the value of the
digitsType
property is ignored and the digits can be
from any of
the digit sets that are enumerated in the
NationalDigitsType
class.
The values of the groupingPattern
and useGrouping
properties do not influence the
parsing of the number.
If numbers are preceded or followed in the string by a plus sign '+', the plus sign is treated as a character that is not part of the number.
This function does not parse strings containing numbers in scientific notation (e.g. 1.23e40).
參數
inputString:String — The input string to parse.
|
NumberParseResult — A NumberParseResult object containing the numeric
value and the indices for the start and end of the portion of the string
that contains the number.
|
擲回值
TypeError — if the inputString parameter is null.
|
相關 API 元素
範例 ( 如何使用本範例 )
var nf:NumberFormatter = new NumberFormatter(); nf.setStyle("locale","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"
parseNumber | () | 方法 |
public function parseNumber(parseString:String):Number
語言版本: | ActionScript 3.0 |
產品版本: | Flex 4.5 |
執行階段版本: | Flash Player 10.1, AIR 2.5 |
Parses a string that contains only digits and optional whitespace
characters and returns a Number. If the string does not begin
with a number or contains characters other than whitespace that
are not part of the number, then this method returns
NaN
. White space before or after
the numeric digits is ignored.
If the numeric digit is preceded or followed by a
plus sign '+' it is treated as a non-whitespace character.
The return value is NaN
.
See the description of the parse function for more information about number parsing and what constitutes a valid number.
參數
parseString:String — The input string to parse.
|
Number — A Number object containing the numeric value.
|
擲回值
TypeError — if the parseString is null
|
相關 API 元素
<?xml version="1.0" encoding="utf-8"?> <!-- Sample program for spark.formatters.NumberFormatter --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <fx:Declarations> <s:NumberFormatter id="numberFormatter"/> </fx:Declarations> <fx:Script> <![CDATA[ [Bindable] private var number:Number = 123456789.123456789; ]]> </fx:Script> <mx:Form> <mx:FormItem label="Input Locale ID Name"> <mx:HBox> <s:TextInput id="inputLocaleIDName"/> <!-- Upon button click, sets the locale style on the document UI component. The formatter will inherit this style. --> <s:Button click="setStyle('locale', inputLocaleIDName.text);" label="Apply"/> </mx:HBox> <mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/> </mx:FormItem> <mx:FormItem label="Use Grouping"> <mx:CheckBox id="useGrouping" change="numberFormatter.useGrouping= useGrouping.selected"/> </mx:FormItem> <mx:FormItem label="Fractional Digits"> <mx:TextInput id="fractionalDigits" change="numberFormatter.fractionalDigits = Number(fractionalDigits.text)"/> </mx:FormItem> <mx:FormItem label="Actual Locale ID Name"> <mx:Text text="{numberFormatter.actualLocaleIDName}"/> </mx:FormItem> <mx:FormItem label="Formatted Result"> <mx:Text text="{numberFormatter.format(number)}"/> </mx:FormItem> </mx:Form> </s:Application>
<?xml version="1.0" encoding="utf-8"?> <!-- Sample program for spark.formatters.NumberFormatter --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <fx:Declarations> <s:NumberFormatter id="numberFormatter"/> </fx:Declarations> <mx:Form> <mx:FormItem label="Input Locale ID Name"> <mx:HBox> <s:TextInput id="inputLocaleIDName"/> <!-- Upon button click, sets the locale style on the document UI component. The formatter will inherit this style. --> <s:Button click="setStyle('locale', inputLocaleIDName.text);" label="Apply"/> </mx:HBox> <mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/> </mx:FormItem> <mx:FormItem label="Input Number"> <s:TextInput id="inputNumber"/> <mx:Text text="Example: {numberFormatter.format(123456789.123)}"/> </mx:FormItem> <mx:FormItem label="Actual Locale ID Name"> <mx:Text text="{numberFormatter.actualLocaleIDName}"/> </mx:FormItem> <mx:FormItem label="Parsed Result"> <mx:Text text="{numberFormatter.parseNumber(inputNumber.text).toString()}"/> </mx:FormItem> </mx:Form> </s:Application>
Tue Jun 12 2018, 03:47 PM Z