Пакет | mx.formatters |
Класс | public class NumberFormatter |
Наследование | NumberFormatter Formatter Object |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Начиная с Flex 4.5, Adobe рекомендует вместо этого класса использовать класс spark.formatters.NumberFormatter. |
Класс NumberFormatter форматирует допустимое число путем корректировки значений округления и точности десятичных чисел, а также с использованием тысячного разделителя и знака минуса для отрицательных чисел.
При совместном использовании свойств rounding
и precision
сначала применяется округление, а затем устанавливается длина десятичного числа с использованием указанного значения свойства precision
. Это позволяет выполнить округление и получить конечное десятичное число; например, 303,99 = 304,00.
В случае ошибки возвращается пустая строка, а строка с описанием ошибки сохраняется в свойстве error
. Свойство error
может иметь одно из следующих значений:
-
Invalid value
означает, что методуformat()
было передано недопустимое числовое значение. Значение должно являться допустимым числом в виде номера или строки. -
Invalid format
означает, что один из параметров содержит недопустимое значение.
The <mx:NumberFormatter>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:NumberFormatter decimalSeparatorFrom="." decimalSeparatorTo="." precision="-1" rounding="none|up|down|nearest" thousandsSeparatorFrom="," thousandsSeparatorTo="," useNegativeSign="true|false" useThousandsSeparator="true|false"/>
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
decimalSeparatorFrom : String
Символ десятичного разделителя для использования при анализе входной строки. | NumberFormatter | ||
decimalSeparatorTo : String
Символ десятичного разделителя, который будет использоваться при выводе отформатированных десятичных чисел. | NumberFormatter | ||
error : String
Описание, сохраняемое средством форматирования при появлении ошибки. | Formatter | ||
precision : Object
Количество десятичных разрядов для включения в выводимую строку. | NumberFormatter | ||
rounding : String
Указывает способ округления числа. | NumberFormatter | ||
thousandsSeparatorFrom : String
Символ для использования в качестве тысячного разделителя во входной строке. | NumberFormatter | ||
thousandsSeparatorTo : String
Символ для использования в качестве тысячного разделителя в выводимой строке. | NumberFormatter | ||
useNegativeSign : Object
Если значение true, отрицательное число форматируется путем прибавления перед ним знака минуса «-». | NumberFormatter | ||
useThousandsSeparator : Object
Если значение true, число разбивается на тысячи с помощью символа разделителя. | NumberFormatter |
Метод | Определено | ||
---|---|---|---|
Конструктор. | NumberFormatter | ||
[переопределить]
Форматирует число в виде строки. | NumberFormatter | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object |
decimalSeparatorFrom | свойство |
decimalSeparatorFrom:String
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Символ десятичного разделителя для использования при анализе входной строки.
При установке значения для этого свойства необходимо убедиться, что оно отличается от значения свойства thousandsSeparatorFrom
. В противном случае при форматировании значения возникает ошибка.
Значением по умолчанию является ".".
Реализация
public function get decimalSeparatorFrom():String
public function set decimalSeparatorFrom(value:String):void
Связанные элементы API
decimalSeparatorTo | свойство |
decimalSeparatorTo:String
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Символ десятичного разделителя, который будет использоваться при выводе отформатированных десятичных чисел.
При установке значения для этого свойства необходимо проверить, что оно отличается от значения свойства thousandsSeparatorTo
. В противном случае при форматировании значения возникает ошибка.
Значением по умолчанию является ".".
Реализация
public function get decimalSeparatorTo():String
public function set decimalSeparatorTo(value:String):void
Связанные элементы API
precision | свойство |
precision:Object
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Количество десятичных разрядов для включения в выводимую строку. Корректировку точности можно деактивировать путем установки значения -1
. Если установлено значение -1
, точность не изменяется. Например, при вводе значения 1,453 и определении для свойства rounding
значения NumberBaseRoundType.NONE
, возвращается значение 1,453. Если для свойства precision
установлено значение -1
, а также определен тип округления, то возвращается значение на основе соответствующего типа округления.
Значением по умолчанию является -1.
Реализация
public function get precision():Object
public function set precision(value:Object):void
rounding | свойство |
rounding:String
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Указывает способ округления числа.
В ActionScript для установки значения этого свойства можно использовать следующие константы: NumberBaseRoundType.NONE
, NumberBaseRoundType.UP
, NumberBaseRoundType.DOWN
или NumberBaseRoundType.NEAREST
. Допустимыми MXML-значениями являются значения down, nearest, up и none.
Значением по умолчанию является NumberBaseRoundType.NONE.
Реализация
public function get rounding():String
public function set rounding(value:String):void
Связанные элементы API
thousandsSeparatorFrom | свойство |
thousandsSeparatorFrom:String
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Символ для использования в качестве тысячного разделителя во входной строке.
При установке значения данного свойства убедитесь, что оно отличается от значения свойства decimalSeparatorFrom
. В противном случае при форматировании значения возникает ошибка.
Значением по умолчанию является ",".
Реализация
public function get thousandsSeparatorFrom():String
public function set thousandsSeparatorFrom(value:String):void
Связанные элементы API
thousandsSeparatorTo | свойство |
thousandsSeparatorTo:String
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Символ для использования в качестве тысячного разделителя в выводимой строке.
При установке значения для этого свойства убедитесь, что оно отличается от значения свойства decimalSeparatorTo
. В противном случае при форматировании значения возникает ошибка.
Значением по умолчанию является ",".
Реализация
public function get thousandsSeparatorTo():String
public function set thousandsSeparatorTo(value:String):void
Связанные элементы API
useNegativeSign | свойство |
useNegativeSign:Object
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Если значение true
, отрицательное число форматируется путем добавления перед ним знака минуса «-». Если значение false
, число форматируется путем заключения в круглые скобки, например (400).
Значением по умолчанию является true.
Реализация
public function get useNegativeSign():Object
public function set useNegativeSign(value:Object):void
useThousandsSeparator | свойство |
useThousandsSeparator:Object
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Если значение true
, число разбивается на тысячи с помощью символа разделителя.
Значением по умолчанию является true.
Реализация
public function get useThousandsSeparator():Object
public function set useThousandsSeparator(value:Object):void
NumberFormatter | () | Конструктор |
public function NumberFormatter()
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Конструктор.
format | () | метод |
override public function format(value:Object):String
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Форматирует число в виде строки. Если отформатировать значение value
невозможно, возвращает пустую строку и записывает описание ошибки в свойство error
.
Параметры
value:Object — Значение для форматирования.
|
String — Отформатированная строка. В случае ошибки эта строка будет пустой.
|
<?xml version="1.0" encoding="utf-8"?> <!-- Simple example to demonstrate 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:Script> <![CDATA[ import mx.events.ValidationResultEvent; private var vResult:ValidationResultEvent; // Event handler to validate and format input. private function Format():void { vResult = numVal.validate(); if (vResult.type == ValidationResultEvent.VALID) { formattedNumber.text = numberFormatter.format(inputVal.text); } else { formattedNumber.text = ""; } } ]]> </fx:Script> <fx:Declarations> <mx:NumberFormatter id="numberFormatter" precision="4" useThousandsSeparator="true" useNegativeSign="true"/> <mx:NumberValidator id="numVal" source="{inputVal}" property="text" allowNegative="true" domain="real"/> </fx:Declarations> <s:Panel title="NumberFormatter Example" width="75%" height="75%" horizontalCenter="0" verticalCenter="0"> <mx:Form left="10" right="10" top="10" bottom="10"> <mx:FormItem label="Enter number:"> <s:TextInput id="inputVal" text="" width="50%"/> </mx:FormItem> <mx:FormItem label="Formatted number (precision=4): "> <s:TextInput id="formattedNumber" editable="false" width="50%"/> </mx:FormItem> <mx:FormItem> <s:Button label="Validate and Format" click="Format();"/> </mx:FormItem> </mx:Form> </s:Panel> </s:Application>
Tue Jun 12 2018, 11:34 AM Z