Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
flash.globalization 

CurrencyFormatter  - AS3

Пакетflash.globalization
Классpublic final class CurrencyFormatter
НаследованиеCurrencyFormatter Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Класс CurrencyFormatter обеспечивает форматирование и анализ денежных значений с учетом особенностей локали.

Класс CurrencyFormatter использует данные и функции, предоставляемые операционной системой и форматирует денежные значения в соответствии с правилами для определенной локали и типа валюты. Позиция символа валюты, отрицательного символа, десятичного разделителя, разделителя группировки, десятичного разделителя шаблона группировки и других элементов может варьироваться в зависимости от локали.

Если операционная система поддерживает запрашиваемую локаль, свойства и тип валюты задаются в соответствии с правилами и значениями по умолчанию запрашиваемой локали. Если запрашиваемая локаль недоступна, то свойства задаются в соответствии с резервной или стандартной локалью, которую можно получить с помощью свойства actualLocaleIDName.

В результате использования пользовательских настроек, системных шаблонов форматирования и резервной локали (когда запрашиваемая локаль не поддерживается) пользователи могут наблюдать разные результаты форматирования даже при использовании одного и того же идентификатора локали.

Посмотреть примеры



Общедоступные свойства
 СвойствоОпределено
  actualLocaleIDName : String
[только для чтения] Имя фактического идентификатора локали, используемого этим объектом CurrencyFormatter.
CurrencyFormatter
 Inheritedconstructor : 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.
CurrencyFormatter
  trailingZeros : Boolean
Определяет, добавляются ли нули в конце форматируемой денежной суммы.
CurrencyFormatter
  useGrouping : Boolean
Позволяет использовать разделитель группировки при форматировании денежных сумм.
CurrencyFormatter
Общедоступные методы
 МетодОпределено
  
CurrencyFormatter(requestedLocaleIDName:String)
Создает новый объект CurrencyFormatter, чтобы отформатировать числа, представляющие денежные суммы в соответствии с правилами данной локали.
CurrencyFormatter
  
format(value:Number, withCurrencySymbol:Boolean = false):String
Создается строка, которая представляет денежную сумму, отформатированную в соответствии с текущими свойствами данного объекта CurrencyFormatter, включая локаль, символ валюты и код валюты ISO.
CurrencyFormatter
  
Определяет, может ли текущий заданный символ валюты использоваться при форматировании денежных сумм.
CurrencyFormatter
  
[статические] Перечисляет все имена идентификаторов локалей, поддерживаемые этим классом.
CurrencyFormatter
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
Анализирует строку, возвращая денежную сумму и символ валюты.
CurrencyFormatter
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
  
setCurrency(currencyISOCode:String, currencySymbol:String):void
Задает свойства currencyISOCode и currencySymbol объекта CurrencyFormatter.
CurrencyFormatter
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве

actualLocaleIDName

свойство
actualLocaleIDName:String  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Имя фактического идентификатора локали, используемого этим объектом CurrencyFormatter.

В зависимости от операционной системы и значения параметра requestedLocaleIDName, передаваемого конструктору CurrencyFormatter(), имя может иметь одно из трех значений.

  1. Если запрашиваемая локаль не является LocaleID.DEFAULT и поддерживается операционной системой, тогда возвращаемое имя совпадает со значением свойства requestedLocaleIDName.
  2. Если константа LocaleID.DEFAULT использована в качестве значения параметра requestedLocaleIDName конструктора, то используется имя текущей локали, заданной в операционной системе пользователя. Значение LocaleID.DEFAULT сохраняет настройку ОС, заданную пользователем. Передача явного значения в качестве параметра requestedLocaleIDName не обязательно дает тот же результат, что использование LocaleID.DEFAULT, даже если при этом используются одинаковые имена идентификатора локали. Пользователь мог задать в своей системе пользовательские настройки локали, и запрос явного имени идентификатора локали вместо использования константы LocaleID.DEFAULT в программе не позволит извлечь эти пользовательские настройки.
  3. Если система не поддерживает имя requestedLocaleIDName, определенное в конструкторе, то используется резервное имя идентификатора локали.



Реализация
    public function get actualLocaleIDName():String

Связанные элементы API

currencyISOCode

свойство 
currencyISOCode:String  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Трехбуквенный код ISO 4217 для фактически использованной локали.

Этот код используется для определения символа ли строки валюты при форматировании денежных сумм с помощью метода format() с параметром withCurrencySymbol, которому задано значение false.

Это свойство инициализируется конструктором, исходя из фактически используемой локали. В случае использования резервной локали это свойство отражает предпочитаемый код валюты по умолчанию для резервной локали.

Значением по умолчанию является 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

Символ или строка валюты для фактически используемой локали.

Это свойство используется для определения символа валюты при форматировании денежных сумм с помощью метода format() с параметром withCurrencySymbol, которому задано значение true.

Это свойство инициализируется конструктором, исходя из фактически используемой локали. В случае использования резервной локали это свойство отражает предпочитаемый символ валюты по умолчанию для резервной локали.

Значением по умолчанию является 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

Символ-разделитель десятичной дроби, используемый для форматирования или анализа денежных сумм с дробной частью.

Это свойство изначально задается на основе локали, выбранной при создании объекта NumberFormatter.

Когда этому свойству задано значение и отсутствуют ошибки или предупреждения, свойству 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 — если это свойство имеет нулевое значение.

Связанные элементы API

digitsType

свойство 
digitsType:uint

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Определяет набор цифровых символов, используемых при форматировании денежных сумм.

В различных языках и регионах используются разные символы для представления цифр 0—9. Это свойство определяет используемый набор цифр.

Значение этого свойства представляет значение Юникод для обозначения нуля в десятичном наборе цифр. Действительные значения для этого свойства определены в классе 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 — если это свойство имеет нулевое значение.

Связанные элементы 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 — если это свойство имеет нулевое значение.

Связанные элементы API

groupingSeparator

свойство 
groupingSeparator:String

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Символ или строка, используемые в качестве разделителя группировки.

Значение этого свойства используется в качестве разделителя группировки при форматировании денежных сумм, когда свойство useGrouping имеет значение true. Это свойство изначально задается на основе локали, выбранной при создании объекта NumberFormatter.

Когда этому свойству задано значение и отсутствуют ошибки или предупреждения, свойству 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 — если это свойство имеет нулевое значение.

Связанные элементы API

lastOperationStatus

свойство 
lastOperationStatus:String  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Состояние самой последней операции, выполненной этим объектом CurrencyFormatter. Свойство lastOperationStatus задается каждый раз при вызове конструктора или метода этого класса или при задании значения для другого свойства. Другие возможные значения см. в описании соответствующего метода.



Реализация
    public function get lastOperationStatus():String

Связанные элементы API

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.

trailingZerosleadingZerofractionalDigits0.120
truetrue3$0.120$0.000
falsetrue3$0.12$0
truefalse3$.120$.000
falsefalse3$.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 — если это свойство имеет нулевое значение.

Связанные элементы API

negativeCurrencyFormat

свойство 
negativeCurrencyFormat:uint

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Числовое значение, которое обозначает шаблон форматирования для отрицательных денежных сумм. Этот шаблон определяет местоположение символа валюты и отрицательного символа или круглых скобок относительно числовой части денежной суммы.

В качестве значения этого свойства должна использоваться одна из констант, определенная в таблице ниже.

В приведенной ниже таблице перечислены возможные шаблоны форматирования для отрицательных денежных сумм. Когда денежная сумма форматируется с помощью метода format():

  • вместо символа «¤» подставляется значение свойства currencyISOCode или currencySymbol в зависимости от значения параметра withCurrencySymbol, переданного методу format();
  • вместо символа «-» подставляется значение свойства negativeNumberSymbol;
  • вместо символа «n» подставляется денежная сумма, переданная методу format().
Тип формата отрицательной денежной суммыШаблон форматирования
0(¤n)
1-¤n
2¤-n
3¤n-
4(n¤)
5-n¤
6n-¤
7n¤-
8-n ¤
9-¤ n
10n ¤-
11¤ n-
12¤ -n
13n- ¤
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 — если это свойство имеет нулевое значение.

Связанные элементы API

positiveCurrencyFormat

свойство 
positiveCurrencyFormat:uint

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Числовое значение, которое обозначает шаблон форматирования для положительных денежных сумм. Этот формат определяет местоположение символа валюты относительно числовой части денежной суммы.

В качестве значения этого свойства должна использоваться одна из констант, определенная в таблице ниже.

В приведенной ниже таблице перечислены возможные шаблоны форматирования для положительных денежных сумм. Когда денежная сумма форматируется с помощью метода format():

  • вместо символа «¤» подставляется значение свойства currencyISOCode или currencySymbol в зависимости от значения параметра withCurrencySymbol, переданного методу format();
  • вместо символа «n» подставляется денежная сумма, переданная методу format().
Тип формата положительной денежной суммыШаблон форматирования
0¤n
1
2¤ n
3n ¤

Когда этому свойству задано значение и отсутствуют ошибки или предупреждения, свойству 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.

Если использовано значение 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.

trailingZerosleadingZerofractionalDigits0.120
truetrue3$0.120$0.000
falsetrue3$0.12$0
truefalse3$.120$.000
falsefalse3$.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 — если это свойство имеет нулевое значение.

Связанные элементы 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, чтобы отформатировать числа, представляющие денежные суммы в соответствии с правилами данной локали.

Этот конструктор определяет, поддерживает ли текущая операционная система запрашиваемое имя идентификатора локали. Если она не поддерживается, будет использована резервная локаль. Если использована резервная локаль, свойство lastOperationStatus указывает тип резервного значения, а свойство actualLocaleIDName содержит имя резервного идентификатора локали.

Значения определенных свойств, такие как currencySymbol и currencyISOCode, задаются автоматически, исходя из локали.

ПРИМЕЧАНИЕ. Когда используется резервная локаль, для свойств валюты задаются значения по умолчанию, в результате чего свойство currencySymbol или currencyISOCode может получить неожиданное значение. Рекомендуется проверить значения свойств currencySymbol и currencyISOCode, прежде чем форматировать денежную сумму.

Чтобы задать форматирование в соответствии с текущими пользовательскими настройками операционной системы, необходимо передать значение LocaleID.DEFAULT в параметре requestedLocaleIDName конструктора.

Когда конструктор вызывается и успешно создает объект, свойство lastOperationStatus получает значение:

  • LastOperationStatus.NO_ERROR

Когда запрашиваемое имя идентификатора языкового стандарта недоступно, lastOperationStatus получает одно из следующих значений:

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

В противном случае в качестве значения свойства lastOperationStatus задается одна из констант, определенных в классе LastOperationStatus.

Дополнительные сведения о перечисленных выше предупреждениях и других возможных значениях свойства lastOperationStatus см. в описании класса LastOperationStatus.

Параметры
requestedLocaleIDName:String — Предпочитаемое имя идентификатора локали для использования при определении формата даты или времени.

Выдает
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 объекта CurrencyFormatter.

Этот метод позволяет форматировать как очень большие, так и очень малые числа. Однако число знаков ограничивается пределами точности, установленными для типа данных объекта Number.

Параметры

value:Number — Числовое значение, которое требуется отформатировать в строку валюты.
 
withCurrencySymbol:Boolean (default = false) — Когда установлено значение false, свойство currencyISOCode определяет, какая строка или символ валюты используется в строке вывода. Когда установлено значение true, в строке вывода используется текущее значение свойства currencySymbol.

Возвращает
String — Строка, содержащая отформатированное значение валюты.

Связанные элементы API


Пример  ( Использование этого примера )
В данном примере запрашивается локаль fr-CA (французская, Канада). Предполагается, что эта локаль поддерживается в операционной системе пользователя, и поэтому нет необходимости использовать резервную локаль. Для локали fr-CA валютой по умолчанию является канадский доллар, которой соответствует код ISO CAD. Поэтому при форматировании валюты со значениями по умолчанию в качестве символа денежной единицы используется CAD. Когда параметр 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 — имеет значение true, если свойство currencyISOCode соответствует параметру requestedISOCode; в противном случае имеет значение false.

Выдает
TypeError — если параметр requestedISOCode имеет значение null.

Связанные элементы API

getAvailableLocaleIDNames

()метод 
public static function getAvailableLocaleIDNames():Vector.<String>

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Перечисляет все имена идентификаторов локалей, поддерживаемые этим классом.

Если этот класс не поддерживается текущей операционной системой, данный метод возвращает нулевое значение.

Когда этот метод вызывается и успешно выполняется, свойство lastOperationStatus получает значение:

  • LastOperationStatus.NO_ERROR

В противном случае в качестве значения свойства lastOperationStatus задается одна из констант, определенных в классе LastOperationStatus.

Возвращает
Vector.<String> — Вектор строк, содержащих все имена идентификаторов локалей, поддерживаемые этим классом.

parse

()метод 
public function parse(inputString:String):CurrencyParseResult

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Анализирует строку, возвращая денежную сумму и символ валюты.

Алгоритм анализа использует значение свойства decimalSeparator, чтобы определить целую и дробную часть числа. Он использует значения свойств negativeCurrencyFormat и positiveCurrencyFormat, чтобы определить местоположение символа или строки валюты относительно денежной суммы. Для отрицательных сумм свойство negativeCurrencyFormat определяет местоположение отрицательного символа и необходимость использования круглых скобок.

Если порядок символа валюты, символа «-» и числа в введенной строке не соответствует шаблону, определенному свойствами negativeCurrencyFormat и positiveCurrencyFormat, тогда:

  1. свойству value возвращенного объекта CurrencyParseResult задается значение NaN;
  2. свойству currencyString возвращенного объекта CurrencyParseResult задается значение null;
  3. свойству lastOperationStatus задается значение, указывающее на ошибку анализа.

Строка ввода может содержать пробелы, которые игнорируются в ходе анализа.

Анализ может успешно выполняться, даже если не указан символ валюты. Часть строки, соответствующая символу валюты, не проверяется. Если ввод не содержит символа или строки валюты, в качестве значения свойства currencyString возвращенного объекта CurrencyParseResult задается пустая строка.

Когда этот метод вызывается и успешно выполняется, свойство 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

Задает свойства currencyISOCode и currencySymbol объекта CurrencyFormatter.

Когда этот метод вызывается и успешно выполняется, свойство lastOperationStatus получает значение:

  • LastOperationStatus.NO_ERROR

В противном случае свойства currencyISOCode и currencySymbol не изменяются, а в качестве значения свойства lastOperationStatus задается одна из констант, определенных в классе LastOperationStatus.

Параметры

currencyISOCode:String — Трехбуквенный код валюты ISO 4217 (например, USD для долларов США, EUR для евро). Должен содержать три прописных буквы от A до Z.
 
currencySymbol:String — Символ или строка валюты для использования при форматировании денежных сумм. Может быть пустой строкой.


Выдает
TypeError — если currencyISOCode или currencySymbol имеет нулевое значение.

Связанные элементы API

CurrencyFormatterExample.as

Следующий пример демонстрирует разные варианты форматирования денежной суммы в зависимости от локали и валюты. Результаты выполнения этого кода могут варьироваться в зависимости от системных и пользовательских настроек.

В данном примере используются следующие локали:

  • локаль операционной системы по умолчанию для форматирования денежных сумм (LocaleID.DEFAULT);
  • японская (Япония);
  • английская (США);
  • французская (Франция).

Для каждой локали в списке выполняются следующие действия.

  1. Создается объект CurrencyFormatter.
  2. Метод 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);
                }
            }
        }
    }
}
CurrencyFormatterParseExample.as

Следующий код анализирует денежную сумму с помощью правил для данной локали. Результаты выполнения этого кода могут варьироваться в зависимости от системных и пользовательских настроек.

Выполняются следующие действия.

  1. Создается объект CurrencyFormatter для английского языка (США).
  2. Строка ввода анализируется с помощью метода parse().
  3. Отображается денежная сумма со строкой валюты, полученная из объекта 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); 
                }
            }
      }
}




[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.