Пакет | 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
и Number
.
Это класс-оболочка, включающий класс flash.globalization.NumberFormatter. Поэтому относящееся к конкретной локали форматирование обеспечивает flash.globalization.NumberFormatter. Класс NumberFormatter, который может применяться в объявлениях MXML, использует стиль локали для запрашиваемого имени идентификатора локали и содержит привязываемые методы и свойства.
Класс flash.globalization.NumberFormatter использует базовую операционную систему для форматирования функциональности и предоставления данных, относящихся к конкретной локали. В некоторых операционных системах, не поддерживающих классы flash.globalization, класс оболочки обеспечивает резервные функциональные возможности.
Синтаксис MXMLСкрыть синтаксис MXMLThe <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 [переопределить] [только для чтения]
Имя фактического идентификатора локали, используемое этим объектом класса. | NumberFormatter | ||
className : String [только для чтения]
Имя класса компонента. | AdvancedStyleClient | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
decimalSeparator : String
Символ-разделитель десятичной дроби, используемый для форматирования или анализа чисел с дробной частью. | NumberFormatterBase | ||
digitsType : uint
Определяет набор цифровых символов, которые должны использоваться при форматировании чисел. | NumberFormatterBase | ||
errorText : String
Строка замены, возвращенная методом format() при возникновении ошибки. | NumberFormatterBase | ||
fractionalDigits : int
Максимальное число цифр, которые могут отображаться после десятичного разделителя. | NumberFormatterBase | ||
groupingPattern : String
Описывает размещение разделителей группировки в пределах отформатированной числовой строки. | NumberFormatterBase | ||
groupingSeparator : String
Символ или строка, используемые в качестве разделителя группировки. | NumberFormatterBase | ||
id : String
Идентификатор компонента. | AdvancedStyleClient | ||
inheritingStyles : Object
Объект, содержащий стили наследования для экземпляра клиента с невизуальным стилем. | AdvancedStyleClient | ||
lastOperationStatus : String [переопределить] [только для чтения]
Состояние самой последней операции, выполненной этим объектом класса. | NumberFormatterBase | ||
leadingZero : Boolean
Определяет, включается ли начальный нуль в отформатированное число, если слева от десятичного разделителя нет целых чисел. | NumberFormatterBase | ||
moduleFactory : IFlexModuleFactory
Фабрика модуля, используемая в качестве контекста для поиска менеджера стилей, управляющего стилями в этом экземпляре клиента с невизуальным стилем. | AdvancedStyleClient | ||
negativeNumberFormat : uint
Числовое значение, которое обозначает шаблон форматирования для отрицательных чисел. | NumberFormatter | ||
negativeSymbol : String
Отрицательный символ, который должен использоваться при форматировании отрицательных величин. | NumberFormatterBase | ||
nonInheritingStyles : Object
Начало цепочки этого компонента с ненаследуемыми стилями. | AdvancedStyleClient | ||
styleDeclaration : CSSStyleDeclaration
Объявление стиля, которое содержит действующие стили, объявленные этим объектом. | AdvancedStyleClient | ||
styleManager : IStyleManager2 [только для чтения]
Возвращает экземпляр StyleManager, используемый этим компонентом. | AdvancedStyleClient | ||
styleName : Object
Источник значений стиля данного объекта. | AdvancedStyleClient | ||
styleParent : IAdvancedStyleClient
Вышестоящий узел компонента используется для анализа нижестоящих селекторов. | AdvancedStyleClient | ||
trailingZeros : Boolean
Определяет, добавляются ли нули в конце форматируемого числа. | NumberFormatterBase | ||
useGrouping : Boolean
Позволяет использовать разделитель группировки при форматировании чисел. | NumberFormatterBase |
Метод | Определено | ||
---|---|---|---|
Создает новый объект NumberFormatter для форматирования чисел в соответствии с правилами данной локали. | NumberFormatter | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Удаляет свойство style для экземпляра компонента. | AdvancedStyleClient | ||
Посылает событие в поток событий. | EventDispatcher | ||
Форматирует число. | NumberFormatter | ||
[статические]
Перечисляет все имена идентификаторов локалей, поддерживаемые этим классом. | NumberFormatter | ||
Возвращает массив объектов CSSStyleDeclaration для селектора типа, применяемого к этому компоненту, или null, если массив не существует. | AdvancedStyleClient | ||
[переопределить]
Получает свойство style, которое было установлено в любом месте в пределах цепочки поиска стиля этого компонента. | GlobalizationBase | ||
Возвращает true, если для currentCSSState не указано значение null. | AdvancedStyleClient | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Инициализированный метод вызывается, когда этот класс или класс, расширяющий этот класс, используются в объявлении MXML. | AdvancedStyleClient | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Возвращает значение true, если cssState совпадает с currentCSSState. | AdvancedStyleClient | ||
Определяет, совпадает ли этот экземпляр с данным типом (или является его подклассом). | AdvancedStyleClient | ||
Применяет изменения стиля к нижестоящим элементам этого экземпляра клиента стиля. | AdvancedStyleClient | ||
Анализирует строку и возвращает объект NumberParseResult, содержащий проанализированные элементы. | NumberFormatter | ||
Анализирует строку, которая содержит только цифры и/или пробелы, и возвращает число. | NumberFormatter | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Обеспечивает настройку внутренних значений кэша стиля для функционирования метода getStyle(). | AdvancedStyleClient | ||
Обеспечивает регистрацию EffectManager в качестве одного из прослушивателей события для каждого события эффекта. | AdvancedStyleClient | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Задает свойство style для экземпляра компонента. | AdvancedStyleClient | ||
Обеспечивает обнаружение изменений в свойствах стиля. | AdvancedStyleClient | ||
Метод stylesInitialized() вызывается программой Flex при первой инициализации стиля компонента. | AdvancedStyleClient | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
Стили являются либо общими, либо связанными с определенной темой. Если стиль общий, он может использоваться с любой темой. Если стиль связан с определенной темой, он может использоваться, только если ваше приложение использует ее.
actualLocaleIDName | свойство |
actualLocaleIDName:String
[только для чтения] [переопределить] Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4.5 |
Версии среды выполнения: | Flash Player 10.1, AIR 2.5 |
Имя фактического идентификатора локали, используемое этим объектом класса. Эта локаль используется для доступа к форматированию данных и функциональным возможностям операционной системы.
Если локаль, установленная стилем locale
, недоступна, то значение actualLocaleIDName
будет отличаться от значения стиля locale
. Значение будет указывать резервную используемую локаль. Если стиль локали установлен как LocaleID.DEFAULT
, будет использоваться имя локали, определенное операционной системой пользователя.
Это свойство можно использовать в качестве источника для связывания данных. При изменении этого свойства отправляется событие 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 |
Числовое значение, которое обозначает шаблон форматирования для отрицательных чисел. Этот шаблон определяет местоположение отрицательного символа или круглых скобок относительно числовой части форматируемого числа.
В следующей таблице сведены все возможные форматы отрицательных чисел. При форматировании отрицательного числа знак «-» в шаблоне заменяется значением свойства negativeSymbol
, а символ «n» заменяется отформатированным числовым значением.
Тип формата отрицательного числа | Формат |
0 | (n) |
1 | -n |
2 | - n |
3 | n- |
4 | n - |
Значение по умолчанию зависит от локали и операционной системы.
Это свойство можно использовать в качестве источника для связывания данных. При изменении этого свойства отправляется событие change
.
Реализация
public function get negativeNumberFormat():uint
public function set negativeNumberFormat(value:uint):void
Выдает
ArgumentError — если присвоенное значение не является числом в диапазоне от 0 до 4.
|
Связанные элементы API
NumberFormatter | () | Конструктор |
public function NumberFormatter()
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4.5 |
Версии среды выполнения: | Flash Player 10.1, AIR 2.5 |
Создает новый объект NumberFormatter для форматирования чисел в соответствии с правилами данной локали.
Стиль локали определяет локаль для этого класса. Стиль локали можно установить следующими способами:
-
С использованием класса в объявлении MXML и наследованием локали из документа, содержащего объявление. Пример:
<fx:Declarations> <s:NumberFormatter id="nf" /> </fx:Declarations>
-
С использованием объявления MXML и указанием значения локали в списке назначений. Пример:
<fx:Declarations> <s:NumberFormatter id="nf_French_France" locale="fr_FR" /> </fx:Declarations>
-
Вызов метода setStyle. Например:
nf.setStyle("locale", "fr-FR")
-
Наследование стиля из
UIComponent
путем вызова методаaddStyleClient()
UIComponent.
Если стиль locale
не установлен одним из вышеперечисленных способов, экземпляр этого класса добавляется как StyleClient
в topLevelApplication
и наследует стиль locale
из объекта topLevelApplication
при вызове получателя свойств, зависящего от locale
, или метода, зависящего от locale
.
Многие свойства этого класса автоматически устанавливаются на основе стиля локали. При изменении стиля локали все свойства, которые не были явно указаны, будут обновлены в соответствии с новой локалью. Обратите внимание, что фактическая используемая локаль определяется в свойстве actualLocaleIDName.
Связанные элементы API
format | () | метод |
public function format(value:Object):String
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4.5 |
Версии среды выполнения: | Flash Player 10.1, AIR 2.5 |
Форматирует число.
Эта функция форматирует число, на основе значений свойств объекта NumberFormatter. Если свойства не меняются после установки стиля locale
, числа форматируются в соответствии с условиями, предоставляемыми операционной системой для локали, указанной в свойстве actualLocaleIDName
. Чтобы настроить формат, можно изменить свойства для определения специфических аспектов форматирования числа.
Эта функция позволяет форматировать очень большие и очень малые числа. Однако число знаков ограничивается пределами точности, установленными объектом Number
. Экспоненциальное представление не поддерживается.
Если возникла ошибка при форматировании вследствие указания недопустимого входного значения или других причин, метод format()
по умолчанию возвращает null
. Но если для свойства errorText
указано ненулевое значение, то возвращается значение свойства errorText
. Для свойства lastOperationStatus
будет установлено значение, указывающее на возникновение ошибки.
Параметры
value:Object — Объект, содержащий числовое значение для форматирования. Если объект не является Number , то он будет преобразован в число с помощью функции преобразования Number() .
|
String — Отформатированная числовая строка.
|
Связанные элементы API
getAvailableLocaleIDNames | () | метод |
public static function getAvailableLocaleIDNames():Vector.<String>
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4.5 |
Версии среды выполнения: | Flash Player 10.1, AIR 2.5 |
Перечисляет все имена идентификаторов локалей, поддерживаемые этим классом. В этом списке представлены локали, поддерживаемые операционной системой, но не локали, для которых присутствуют ресурсы в ResourceManager.
ВозвращаетVector.<String> — Вектор строк, содержащий все имена идентификаторов локалей, поддерживаемые этим классом и операционной системой.
|
parse | () | метод |
public function parse(inputString:String):NumberParseResult
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4.5 |
Версии среды выполнения: | Flash Player 10.1, AIR 2.5 |
Анализирует строку и возвращает объект NumberParseResult
, содержащий проанализированные элементы.
Объект NumberParseResult
содержит значение первого числа, найденного в указанной строке, начальный индекс для числа в строке, а также индекс первого символа после числа в строке.
Если строка не содержит числа, свойству NumberParseResult задается значение NaN
, а свойствам startIndex
и endIndex
задается шестнадцатеричное значение 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» |
Обратите внимание, что допускается использование одного пробела между числом и знаком «минус» или круглой скобкой. Разделитель — это символ, который имеет свойство разделителя-пробела (Zs) в базе данных символов Юникод. Для получения дополнительной информации см. http://www.unicode.org/ucd/).
При определении допустимого числа остальные свойства игнорируются. В частности, значение свойства digitsType
игнорируется, и знаки могут находиться в любых наборах, перечисленных в классе NationalDigitsType
. Значения свойств groupingPattern
и useGrouping
не влияют на анализ числа.
Если до или после числа в строке следует знак «+», он рассматривается как символ, не входящий в состав числа.
Эта функция не анализирует строки, содержащие числа в экспоненциальном представлении (например, 1,23e40).
Параметры
inputString:String — Строка ввода для анализа.
|
NumberParseResult — Объект NumberParseResult , который содержит числовое значение и индексы начала и конца части строки, содержащей число.
|
Выдает
TypeError — если параметр inputString имеет значение 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 |
Анализирует строку, которая содержит только цифры и/или пробелы, и возвращает число. Если строка не начинается с числа или содержит символы, отличные от пробела, которые не входят в состав числа, этот метод возвращает значение NaN
. Пробел до или после числовых знаков игнорируется.
Если до или после цифры числа стоит знак «плюс» (+), он рассматривается не как символ пробела. Возвращается значение NaN
.
См. описание функции анализа для получения дополнительной информации об анализе чисел и признаках допустимого числа.
Параметры
parseString:String — Строка ввода для анализа.
|
Number — Объект Number , содержащий числовое значение.
|
Выдает
TypeError — если parseString имеет значение 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, 11:34 AM Z