| Пакет | 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означает, что один из параметров содержит недопустимое значение.
Скрыть синтаксис MXMLThe <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):voidrounding | свойство |
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):voiduseThousandsSeparator | свойство |
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):voidNumberFormatter | () | Конструктор |
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

Показать синтаксис MXML