flash.globalizationDateTimeFormatter Класс DateTimeFormatter предоставляет форматирование с учетом локали для объекта Date и обеспечивает доступ к локализованным именам полей даты.Object Класс DateTimeFormatter предоставляет форматирование с учетом локали для объекта Date и обеспечивает доступ к локализованным именам полей даты. Методы этого класса используют функции и настройки, предоставляемые операционной системой.

Выбрать формат времени и даты можно двумя способами: с помощью предопределенного шаблона или пользовательского шаблона. Для большинства программ следует использовать стили, предварительно определенные константами класса DateTimeStyle (LONG, MEDIUM, NONE или SHORT). Эти константы определяют заданные по умолчанию шаблоны для запрашиваемой локали или шаблоны по умолчанию на основе настроек операционной системы пользователя.

Например, следующий код создает строку даты с использованием заданного по умолчанию короткого формата даты.

var df:DateTimeFormatter = new DateTimeFormatter(LocaleID.DEFAULT, DateTimeStyle.SHORT, DateTimeStyle.NONE); var currentDate:Date = new Date(); var shortDate:String = df.format(currentDate);

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

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

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

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

В данном примере использованы следующие локали: английская (США), французская (Франция), испанская (Испания).

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

  1. Создается объект DateTimeFormatter с использованием стиля по умолчанию (long dateStyle, long timeStyle).
  2. Форматирует текущую дату и время, используя длинный стиль даты.
  3. Измените стиль даты на короткий, содержащий только время, с помощью констант DateTimeStyle.NONE и DateTimeStyle.SHORT.
  4. Форматирует текущую дату и время, используя короткий стиль даты, содержащий только время.
package { import flash.display.Sprite; import flash.globalization.DateTimeFormatter; import flash.globalization.DateTimeStyle; public class DateTimeFormatterExample extends Sprite { private var localeList:Array = new Array("en-US", "fr-FR", "es-ES"); public function DateTimeFormatterExample() { var date:Date = new Date(); for each (var locale:String in localeList) { var dtf:DateTimeFormatter = new DateTimeFormatter(locale); trace('\n' + "LocaleID requested=" + dtf.requestedLocaleIDName + "; actual=" + dtf.actualLocaleIDName); var longDate:String = dtf.format(date); trace(longDate + " (" + dtf.getDateTimePattern() + ")"); dtf.setDateTimeStyles(DateTimeStyle.NONE, DateTimeStyle.SHORT); var shortDate:String = dtf.format(date); trace(shortDate + " (" + dtf.getDateTimePattern() + ")"); } } } }
Следующий пример демонстрирует, как приложение может форматировать дату на основе шаблона, выбранного пользователем. Результаты выполнения этого кода могут варьироваться в зависимости от системных и пользовательских настроек.

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

  1. Создается три текстовых поля ввода и вывода.
  2. Создается объект DateTimeFormatter с использованием локали английского языка (США).
  3. Вызывается функция configureTextField(), которая задает положение и размер текстовых полей, а также добавляется прослушиватель событий в объект patternField.
  4. Когда пользователь вводит шаблон в текстовое поле patternField, функция textInputHandler форматирует с его помощью текущую дату и время и отображает результат и значение lastOperationStatus в текстовых полях вывода.
package { import flash.display.Sprite; import flash.events.Event; import flash.globalization.DateTimeFormatter; import flash.text.*; public class DateTimePatternExample extends Sprite { private var patternField:TextField = new TextField(); private var resultField:TextField = new TextField(); private var statusField:TextField = new TextField(); private var date:Date = new Date(); private var dtf:DateTimeFormatter = new DateTimeFormatter("en-US"); private function configureTextField():void { patternField.type = TextFieldType.INPUT; patternField.width = 300; patternField.height = 20; patternField.background = true; patternField.border = true; resultField.y = 40; resultField.width = 300; resultField.height = 20; statusField.y = 80; statusField.width = 300; statusField.height = 20; addChild(patternField); addChild(resultField); addChild(statusField); patternField.addEventListener(Event.CHANGE,textInputHandler); } private function textInputHandler(event:Event):void { dtf.setDateTimePattern(patternField.text); statusField.text = dtf.lastOperationStatus; resultField.text = dtf.format(date); } public function DateTimePatternExample() { configureTextField(); } } }
actualLocaleIDNameDateTimeStyleDateTimeFormatter Создает новый объект DateTimeFormatter, чтобы отформатировать даты и время в соответствии с правилами указанной локали и заданных стилей форматирования даты и времени.если значение параметра dateStyle или timeStyle не является допустимой константой DateTimeStyle. ArgumentErrorArgumentErrorесли параметр dateStyle или timeStyle имеет нулевое значение. TypeErrorTypeErrorrequestedLocaleIDNameStringПредпочитаемое имя идентификатора локали для использования при определении формата даты или времени. dateStyleStringlongОпределяет стиль, который должен использоваться при форматировании дат. Значение соответствует одному из значений, перечисленных в классе DateTimeStyle:
  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
timeStyleStringlongОпределяет стиль, который должен использоваться при форматировании времени. Значение соответствует одному из значений, перечисленных в классе DateTimeStyle:
  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
Создает новый объект DateTimeFormatter, чтобы отформатировать даты и время в соответствии с правилами указанной локали и заданных стилей форматирования даты и времени. Стили даты и времени служат для определения шаблонов форматирования даты и времени в соответствии с шаблонами, предварительно определенными для локали в операционной системе.

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

Если для любого из параметров requestedLocaleIDName, dateStyle или timeStyle используется резервное значение, то свойство lastOperationStatus указывает тип значения по умолчанию.

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

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

  • LastOperationStatus.NO_ERROR

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

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

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

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

lastOperationStatusrequestedLocaleIDNameactualLocaleIDNameDateTimeStyleLastOperationStatusLocaleID
formatUTC Форматирует отображаемую строку объекта Date, который интерпретируется в соответствии с временем формата UTC (с использованием таких компонентов UTC объекта Date, как dateUTC, dayUTC, fullYearUTC, hoursUTC, minutesUTC, monthUTC и secondsUTC) и с учетом стилей dateStyle, timeStyle или шаблона даты и времени.Отформатированная строка, представляющая значение даты или времени. StringdateTimeDateЗначение Date, которое требуется отформатировать. Форматирует отображаемую строку объекта Date, который интерпретируется в соответствии с временем формата UTC (с использованием таких компонентов UTC объекта Date, как dateUTC, dayUTC, fullYearUTC, hoursUTC, minutesUTC, monthUTC и secondsUTC) и с учетом стилей dateStyle, timeStyle или шаблона даты и времени. Форматирование выполняется в соответствии с правилами идентификатора локали, стилей даты и времени или на основе пользовательских шаблонов даты и времени, определенных для данного экземпляра DateTimeFormatter.

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

  • LastOperationStatus.NO_ERROR

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

setDateTimeStyles()setDateTimePattern()getDateStyle()getTimeStyle()lastOperationStatusLastOperationStatus
format Форматирует отображаемую строку для объекта Date, который интерпретируется в соответствии с местным временем в регионе пользователя (с использованием таких компонентов местного времени объекта Date, как date, day, fullYear, hours, minutes, month и seconds).Отформатированная строка, представляющая значение даты или времени. StringdateTimeDateЗначение Date, которое требуется отформатировать. Форматирует отображаемую строку для объекта Date, который интерпретируется в соответствии с местным временем в регионе пользователя (с использованием таких компонентов местного времени объекта Date, как date, day, fullYear, hours, minutes, month и seconds). Форматирование выполняется в соответствии с правилами идентификатора локали, стилей даты и времени или на основе пользовательских шаблонов даты и времени, определенных для данного экземпляра DateTimeFormatter.

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

  • LastOperationStatus.NO_ERROR

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

setDateTimeStyles()setDateTimePattern()getDateStyle()getTimeStyle()lastOperationStatusLastOperationStatus
getAvailableLocaleIDNames Перечисляет все имена идентификаторов локалей, поддерживаемые этим классом.Вектор строк, содержащих все имена идентификаторов локалей, поддерживаемые этим классом. Перечисляет все имена идентификаторов локалей, поддерживаемые этим классом.

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

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusLastOperationStatusLocaleID
getDateStyle Получает стиль даты для данного экземпляра DateTimeFormatter.Строка стиля даты для этого экземпляра DateTimeFormatter.

Возможные значения:

  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
  • DateTimeStyle.CUSTOM
String
Получает стиль даты для данного экземпляра DateTimeFormatter. Стиль даты служит для получения шаблона форматирования даты, предварительно определенного в операционной системе. Значение стиля даты может быть задано конструктором DateTimeFormatter(), а также методом setDateTimeStyles() или setDateTimePattern().

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

  • LastOperationStatus.NO_ERROR

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

setDateTimeStyles()setDateTimePattern()lastOperationStatusDateTimeStyleDateTimeFormatterLastOperationStatus
getDateTimePattern Возвращает строку шаблона, используемую данным объектом DateTimeFormatter для форматирования даты и времени.Строка, которая содержит шаблон, использованный данным объектом DateTimeFormatter для форматирования даты и времени. String Возвращает строку шаблона, используемую данным объектом DateTimeFormatter для форматирования даты и времени.

Этот шаблон можно задать одним из трех способов:

  1. с помощью параметров dateStyle и timeStyle, использованных в конструкторе;
  2. с помощью метода setDateTimeStyles();
  3. с помощью метода setDateTimePattern().

Дополнительные сведения о синтаксисе шаблона см. в описании метода setDateTimePattern().

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

  • LastOperationStatus.NO_ERROR

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

DateTimeFormattersetDateTimeStyles()setDateTimePattern()lastOperationStatusLastOperationStatus
getFirstWeekday Возвращает целое число, соответствующее первому дню недели для данной локали и календарной системы.Целое число, соответствующее первому дню недели для данной локали и календарной системы. int Возвращает целое число, соответствующее первому дню недели для данной локали и календарной системы. 0 обозначает воскресенье, 1— понедельник и т. д. Последнее значение 6 соответствует субботе.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusLastOperationStatus
getMonthNames Получает список локализованных строк, содержащий названия месяцев для текущей календарной системы.если nameStyle или context имеет нулевое значение. TypeErrorTypeErrorВектор локализованных строк, содержащий названия месяцев для указанной локали, стиля имен и контекста. Первый элемент в векторе с индексом 0 содержит название первого месяца года, следующий элемент — название второго месяца и т. д. nameStyleStringfullОбозначает стиль строки названия, который должен использоваться Допустимые значения:
  • DateTimeNameStyle.FULL
  • DateTimeNameStyle.LONG_ABBREVIATION
  • DateTimeNameStyle.SHORT_ABBREVIATION
contextStringstandaloneКод, обозначающий контекст, при котором используется отформатированная строка. Этот контекст имеет значение только для определенных локалей. Допустимые значения:
  • DateTimeNameContext.FORMAT
  • DateTimeNameContext.STANDALONE
Получает список локализованных строк, содержащий названия месяцев для текущей календарной системы. Первый элемент списка содержит название первого месяца в году.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusDateTimeNameContextDateTimeNameStyleLastOperationStatus
getTimeStyle Получает стиль времени для данного экземпляра DateTimeFormatter.Строка стиля времени для этого экземпляра DateTimeFormatter.

Возможные значения:

  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
  • DateTimeStyle.CUSTOM
String
Получает стиль времени для данного экземпляра DateTimeFormatter. Стиль времени служит для получения шаблона форматирования времени, предварительно определенного в операционной системе. Значение стиля времени может быть задано конструктором DateTimeFormatter(), а также методом setDateTimeStyles() или setDateTimePattern().

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

  • LastOperationStatus.NO_ERROR

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

setDateTimeStyles()setDateTimePattern()lastOperationStatusDateTimeStyleDateTimeFormatterLastOperationStatus
getWeekdayNames Получает список локализованных строк, содержащий названия дней недели для текущей календарной системы.если nameStyle или context имеет нулевое значение. TypeErrorTypeErrorВектор локализованных строк, содержащий названия месяцев для указанной локали, стиля имен и контекста. Первый элемент вектора с индексом 0 содержит название для воскресенья, следующий — для понедельника и т. д. nameStyleStringfullОбозначает стиль строки названия, который должен использоваться Допустимые значения:
  • DateTimeNameStyle.FULL
  • DateTimeNameStyle.LONG_ABBREVIATION
  • DateTimeNameStyle.SHORT_ABBREVIATION
contextStringstandaloneКод, обозначающий контекст, при котором используется отформатированная строка. Этот контекст применяется только для определенных локалей, в которых названия месяцев изменяются в зависимости от контекста. Например, в греческом языке используются разные названия месяцев в зависимости от того, используются они отдельно или вместе с датой. Допустимые значения:
  • DateTimeNameContext.FORMAT
  • DateTimeNameContext.STANDALONE
Получает список локализованных строк, содержащий названия дней недели для текущей календарной системы. Первый элемент списка представляет название для воскресенья.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusDateTimeNameContextDateTimeNameStyleLastOperationStatus
setDateTimePattern Определяет строку шаблона, используемую данным объектом DateTimeFormatter для форматирования даты и времени.если параметр шаблона имеет нулевое значение. TypeErrorTypeErrorpatternString Определяет строку шаблона, используемую данным объектом DateTimeFormatter для форматирования даты и времени.

Шаблон для форматирования дат можно задать одним из трех способов:

  1. с помощью параметров dateStyle и timeStyle, использованных в конструкторе;
  2. с помощью метода setDateTimeStyles();
  3. с помощью данного метода setDateTimePattern().

В качестве побочного эффекта этот метод переопределяет текущие стили времени и даты для данного объекта DateTimeFormatter и задает им значение DateTimeStyle.CUSTOM.

Строка шаблона определяет форматирование даты и времени. Шаблон содержит последовательности букв, которые заменяются на значения даты и времени в отформатированной строке. Например, в шаблоне «yyyy/MM» символы «yyyy» заменяются на четырехзначное представление года, после которого следует символ «/», а символы «MM» заменяются на двухзначное числовое представление месяца.

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

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

  • MMMMMM меняется на MMMM
  • dddd меняется на dd
  • EEEEEEE меняется на EEEE
  • aa меняется на a
  • hhh меняется на hh
  • mmmm меняется на mm

Теоретически, шаблон может содержать до 225 символов, но на некоторых шаблонах это число меньше. Если шаблон превышает максимальный предел, свойству lastOperationStatus задается значение LastOperationStatus.PATTERN_SYNTAX_ERROR.

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

В следующей таблице перечислены допустимые буквы шаблона и их значения.

Буква образцаОписаниеGЭра. Заменяется на строку эра для текущей даты и календарной системы. Этот шаблон поддерживается не во всех операционных системах. В операционных системах, не поддерживающих указание эры, буквы вводимого шаблона заменяются пустой строкой.

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

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

Пример для грегорианского календаря для операционных систем, поддерживающих данный шаблон:

  • G, GG, GGG = н.э.
  • GGGG = нашей эры
  • GGGGG = Н
yГод. Если шаблон содержит две буквы, отображаются последние две цифры года, в остальных случаях число цифр определяется числом букв. Если для обозначения года требуется больше цифр, чем букв в шаблоне, год указывается полностью. Если шаблон содержит больше букв, чем необходимо для указания года, вместо них добавляются нули. Ниже перечислены результаты для года 1 и года 2005.

Примеры:

  • y = 1
  • y = 2005
  • yy = 01
  • yy = 05
  • yyyy = 0001 или 01 в зависимости от операционной системы.
  • yyyy = 2005
  • yyyy = 01 или 0001 в зависимости от операционной системы. Если шаблон содержит больше четырех букв «y», используется максимальное число букв, поддерживаемое в операционной системе.
  • yyyyy = 2005
M Месяц года. Шаблон месяца может содержать от одной до пяти букв, которые интерпретируются следующим образом.
  • Если в образце используется одна буква, формат интерпретируется как числовой, состоящий из одной или двух цифр.
  • Если в образце используются две буквы, формат интерпретируется как числовой, состоящий из двух цифр.
  • Если шаблон содержит три буквы, используется длинная форма сокращения.
  • Если используются четыре буквы образца, формат интерпретируется как полное название.
  • Если используются четыре буквы образца, формат интерпретируется как короткая сокращенная форма. Этот формат поддерживается не всеми операционными системами, вместо него используется длинная сокращенная форма.

Примеры:

  • M = 7
  • MM= 07
  • MMM = июл, 7月
  • MMMM = июль, 7月
  • MMMMM = «И» или «июл», 7 или 7月 в зависимости от операционной системы
d День месяца. Шаблон дня месяца может содержать одну или две буквы, которые интерпретируются следующим образом.
  • Если в образце используется одна буква, формат интерпретируется как числовой, состоящий из одной или двух цифр.
  • Если в образце используются две буквы, формат интерпретируется как числовой, состоящий из двух цифр.

Примеры:

  • d = 4
  • dd = 04
  • dd = 14
EДень недели. Шаблон дня недели может содержать от одной до пяти букв, которые интерпретируются следующим образом.
  • Если шаблон содержит от одной до трех букв, используется длинная форма сокращения.
  • Если используются четыре буквы образца, формат интерпретируется как полное название.
  • Если используются четыре буквы образца, формат интерпретируется как короткая сокращенная форма. Этот формат поддерживается не всеми операционными системами, вместо него используется длинная сокращенная форма.

Примеры:

  • E, EE, EEE = втор
  • EEEE = вторник
  • EEEEE = «В» или «вт» в зависимости от операционной системы.
QКвартал. Некоторые платформы не поддерживают этот шаблон. Шаблон квартала может содержать от одной до четырех букв, которые интерпретируются следующим образом.
  • Если используется одна буква образца, формат интерпретируется как числовой с одной цифрой.
  • Если в образце используются две буквы, формат интерпретируется как числовой, состоящий из двух цифр.
  • Если шаблон содержит три буквы, формат интерпретируется как сокращение.
  • Если используются четыре буквы образца, формат интерпретируется как полное название.

Примеры для операционных систем, поддерживающих этот шаблон:

  • Q = 2
  • QQ = 02
  • QQQ = К2
  • QQQQ = второй квартал
wНеделя года. Некоторые платформы не поддерживают этот шаблон. Этот шаблон может содержать от одну или две буквы, которые интерпретируются следующим образом.
  • Если в образце используется одна буква, формат интерпретируется как числовой, состоящий из одной или двух цифр.
  • Если в образце используются две буквы, формат интерпретируется как числовой, состоящий из двух цифр.

Примеры для второй недели года в операционных системах, которые поддерживают этот шаблон:

  • w = 2
  • ww = 02
WНеделя месяца. Некоторые платформы не поддерживают этот шаблон. Этот шаблон содержит только одну букву.

Примеры для второй недели июля в операционных системах, которые поддерживают этот шаблон:

  • W = 2
DДень года. Некоторые платформы не поддерживают этот шаблон. Этот шаблон может содержать от одной до трех букв.

Примеры для второго дня года в операционных системах, которые поддерживают этот шаблон:

  • D=2
  • DD=02
  • DDD = 002
FПорядковый номер определенного дня недели в пределах календарного месяца. Например, этот элемент отображает «3», если используется для форматирования даты третьего понедельника в октябре. Этот шаблон содержит только одну букву.

Примеры для второй среды июля в операционных системах, которые поддерживают этот шаблон:

  • F = 2
aИндикатор AM/PM (до и после полудня). Этот шаблон допускает использование только одной буквы: a или p.

Примеры:

  • a = AM, 午前
  • p = PM, 午後
hЧас дня в 12-часовом формате [1—12]. Этот шаблон должен содержать одну или две буквы.

Примеры:

  • h = 1
  • h = 12
  • hh = 01
HЧас дня в 24-часовом формате [0—23]. Этот шаблон должен содержать одну или две буквы.

Примеры:

  • H = 0
  • H = 23
  • HH = 00
KЧас дня в 12-часовом формате [0—11]. Этот шаблон должен содержать одну или две буквы. Этот шаблон поддерживается не во всех операционных системах.

Примеры для операционных систем, поддерживающих этот шаблон:

  • K = 0
  • K = 11
  • KK = 00
kЧас дня в 24-часовом формате [1—24]. Этот шаблон должен содержать одну или две буквы. Этот шаблон поддерживается не во всех операционных системах.

Примеры для операционных систем, поддерживающих этот шаблон:

  • k = 1
  • k = 24
  • kk = 01
mМинута часа [0—59]. Этот шаблон должен содержать одну или две буквы.

Примеры:

  • m = 2
  • m = 59
  • mm = 02
sСекунды минуты [0—59]. Этот шаблон должен содержать одну или две буквы.

Примеры:

  • s = 2
  • s = 59
  • ss = 02
SМиллисекунды. Этот шаблон должен содержать от одной до пяти букв. Значение округляется согласно числу использованных букв. Когда используется пять символов (SSSSS), обозначает дробные миллисекунды.

Примеры:

  • S = 2
  • SS = 24
  • SSS = 235
  • SSSS = 2350
  • SSSSS = 23500
zЧасовой пояс. Представляет часовой пояс в виде строки, которая учитывает стандарт или летнее время, не ссылаясь на определенное местоположение Этот шаблон поддерживается не во всех операционных системах. В операционных системах, не поддерживающих указание часового пояса, буквы вводимого шаблона будут заменены пустой строкой. В операционных системах, поддерживающих этот шаблон, строки определены не для всех локалей. Для таких локалей будет использован локализованный стандарт GMT, например GMT-08:00 или GW-08:00

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

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

Примеры для операционных систем, поддерживающих этот формат:

  • z, zz, zzz = PDT
  • z, zz, zzz = PST
  • z, zz, zzz = GMT-0800
  • zzzz = тихоокеанское летнее время
  • zzzz = тихоокеанское стандартное время
ZЧасовой пояс. Представляет часовой пояс как смещение от среднего времени по Гринвичу (GMT). Этот шаблон поддерживается не во всех операционных системах. В операционных системах, не поддерживающих указание часового пояса, буквы вводимого шаблона будут заменены пустой строкой.

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

  • Если шаблон содержит от одной до трех букв, используется формат RFC 822.
  • Если шаблон содержит четыре буквы, используется локализованный формат GMT. При этом для локалей, для которых недоступен локализованный формат GMT, используется нелокализованный формат GMT.

Примеры для операционных систем, поддерживающих этот формат:

  • Z, ZZ, ZZZ = -0800
  • ZZZZ = GMT-08:00, GW-08:00
vЧасовой пояс. Строка, обозначающая общий часовой пояс без указания определенного местоположения и учета летнего и зимнего времени. Этот шаблон поддерживается не во всех операционных системах. В операционных системах, не поддерживающих указание часового пояса, буквы вводимого шаблона будут заменены пустой строкой. Если в операционных системах, поддерживающих этот шаблон, нет локализованного названия, будут использоваться резервные строки.

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

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

Примеры для операционных систем, поддерживающих этот формат:

  • v = PT
  • vvvv = тихоокеанское время
'Другой текст'Строка шаблона может содержать текст и знаки пунктуации. Однако символы a — z и A — Z зарезервированы как символы синтаксиса и должны быть заключены в одинарные кавычки для добавления в отформатированную строку. Для добавления одинарной кавычки в результирующую строку строка шаблона должна содержать две одинарные кавычки. Две одинарные кавычки могут быть внутри или за пределами строки шаблона, заключенной в кавычки. Незакрытая пара одинарных кавычек будет закрыта в конце строки.

Примеры:

  • EEEE, MMM. d, yyyy 'в' h 'ч.' a= вторник, 8 сент. 2005 в 01ч. ПП
  • yyyy年M月d日 = 2005年9月8日
  • mm''ss'' = 43'01'

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

  • LastOperationStatus.NO_ERROR

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

DateTimeFormattersetDateTimeStyles()setDateTimePattern()lastOperationStatusLastOperationStatus
setDateTimeStyles Устанавливает стили даты и времени для данного экземпляра DateTimeFormatter.если значение параметра dateStyle или timeStyle не является допустимой константой DateTimeStyle. ArgumentErrorArgumentErrorесли параметр dateStyle или timeStyle имеет нулевое значение. TypeErrorTypeErrordateStyleStringОпределяет стиль, который должен использоваться при форматировании дат. Значение соответствует одному из значений, перечисленных в классе DateTimeStyle:
  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
timeStyleStringОпределяет стиль, который должен использоваться при форматировании времени. Значение соответствует одному из значений, перечисленных в классе DateTimeStyle:
  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
Устанавливает стили даты и времени для данного экземпляра DateTimeFormatter. Стили даты и времени служат для определения шаблонов форматирования даты и времени в соответствии с шаблонами, предварительно определенными для локали в операционной системе. Этот метод заменяет стили, заданные с помощью конструктора DateTimeFormatter() или метода setDateTimePattern(). Шаблон даты и времени также обновляется на основе заданных стилей.

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

  • LastOperationStatus.NO_ERROR

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

DateTimeFormatter()setDateTimeStyles()setDateTimePattern()lastOperationStatusDateTimeStyleLastOperationStatus
actualLocaleIDName Имя фактического идентификатора локали, используемого этим объектом DateTimeFormatter.String Имя фактического идентификатора локали, используемого этим объектом DateTimeFormatter.

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

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

    Например:

    var fmt:DateTimeFormatter = new DateTimeFormatter(LocaleID.DEFAULT); var aliName:String = fmt.actualLocaleIDName;

    В приведенном выше примере именем локали, соответствующей текущим пользовательским настройкам операционной системы (например, it-IT, если пользователь выбрал локаль «итальянская, Италия») является aliName, а не "i-default" (имя локали LocaleID.DEFAULT).

  3. Если система не поддерживает имя requestedLocaleIDName, определенное в конструкторе, то используется резервное имя идентификатора локали.

    Например:

    var fmt:DateTimeFormatter = new DateTimeFormatter("fr-CA"); var aliName:String = fmt.actualLocaleIDName;

    Если предположить, что операционная система в приведенном выше примере не поддерживает идентификатор локали fr_CA (французская, Канада), используется резервный вариант. В таком случае резервным идентификатором локали является fr-FR (французская, Франция).

LocaleIDrequestedLocaleIDNameDateTimeFormatter()
lastOperationStatus Состояние предыдущей операции, которую выполнял этот объект DateTimeFormatter.String Состояние предыдущей операции, которую выполнял этот объект DateTimeFormatter. Свойство lastOperationStatus задается каждый раз при вызове конструктора или метода этого класса или при задании значения для другого свойства. Другие возможные значения см. в описании соответствующего метода. LastOperationStatusrequestedLocaleIDName Имя запрашиваемого идентификатора локали, переданного конструктору этого объекта DateTimeFormatter.String Имя запрашиваемого идентификатора локали, переданного конструктору этого объекта DateTimeFormatter.

Если использовано значение LocaleID.DEFAULT, возвращается имя i-default. Локаль, использованная на самом деле, может отличаться от запрашиваемой, когда применяется резервная локаль. Имя фактической локали можно получить с помощью свойства actualLocaleIDName.

LocaleIDactualLocaleIDNameDateTimeFormatter()
LastOperationStatus Класс LastOperationStatus перечисляет константы, обозначающие состояние самой последней операции службы глобализацииObject Класс LastOperationStatus перечисляет константы, обозначающие состояние самой последней операции службы глобализации Эти значения можно получить с помощью lastOperationStatus, предназначенного только для чтения, которое доступно в большинстве классов. BUFFER_OVERFLOW_ERROR Указывает на то, что данный буфер недостаточно велик для хранения результата.bufferOverflowErrorString Указывает на то, что данный буфер недостаточно велик для хранения результата. ERROR_CODE_UNKNOWN Указывает на то, что возвращен неизвестный код ошибки.errorCodeUnknownString Указывает на то, что возвращен неизвестный код ошибки. Эту ошибку может вернуть любой нестатический методы или свойства, доступные для чтения/записи, когда операция не выполнена и возвращен неизвестный код ошибки. ILLEGAL_ARGUMENT_ERROR Указывает на то, что методу передан недопустимый параметр.illegalArgumentErrorString Указывает на то, что методу передан недопустимый параметр.

Например, в следующем коде состояние указывает на ошибку аргумента, когда свойству CurrencyFormatter.grouping задается недопустимое значение «3;».

var cf:CurrencyFormatter = new CurrencyFormatter("en-US"); cf.groupingPattern = "3;"; trace(cf.lastOperationStatus); // "illegalArgumentError"
INDEX_OUT_OF_BOUNDS_ERROR Указывает на то, что итератор вышел за рамки диапазона или задан недопустимый параметр для месяца, дня или времени.indexOutOfBoundsErrorString Указывает на то, что итератор вышел за рамки диапазона или задан недопустимый параметр для месяца, дня или времени. INVALID_ATTR_VALUE Указывает на то, что значение данного атрибута находится за пределами ожидаемого диапазона.invalidAttrValueString Указывает на то, что значение данного атрибута находится за пределами ожидаемого диапазона.

В следующем примере свойству NumberFormatter.negativeNumberFormat задается значение, которое находится за пределами диапазона, в результате чего состояние указывает на недопустимое значение атрибута.

var nf:NumberFormatter = new NumberFormatter(LocaleID.DEFAULT); nf.negativeNumberFormat = 9; nf.lastOperationStatus; // "invalidAttrValue"
INVALID_CHAR_FOUND Указывает на то, что обнаружено недопустимое значение Юникод.invalidCharFoundString Указывает на то, что обнаружено недопустимое значение Юникод. MEMORY_ALLOCATION_ERROR Указывает на ошибку выделения памяти.memoryAllocationErrorString Указывает на ошибку выделения памяти. NO_ERROR Указывает на то, что последняя операция выполнена успешно и без ошибок.noErrorString Указывает на то, что последняя операция выполнена успешно и без ошибок. Это состояние могут вернуть все конструкторы, статические и нестатические методы, а также свойства, доступные для чтения/записи. NUMBER_OVERFLOW_ERROR Указывает на то, что в результате операции получено значение, превышающее указанный числовой тип.numberOverflowErrorString Указывает на то, что в результате операции получено значение, превышающее указанный числовой тип. PARSE_ERROR Указывает на ошибку анализа числа.parseErrorString Указывает на ошибку анализа числа. Это состояние может быть возвращено методами анализа классов Formatter, например CurrencyFormatter.parse() и NumberFormatter.parseNumber(). Например, если значение «12abc34» передается как параметр методу CurrencyFormatter.parse(), метод возвращает значение «NaN», а свойство lastOperationStatus получает значение LastOperationStatus.PARSE_ERROR. PATTERN_SYNTAX_ERROR Указывает на то, что использован недействительный шаблон для форматирования числа, даты или времени.patternSyntaxErrorString Указывает на то, что использован недействительный шаблон для форматирования числа, даты или времени. Это состояние устанавливается, когда операционная система пользователя не поддерживает данный шаблон.

Например, следующий код отображает значение свойства lastOperationStatus после использования недопустимого шаблона «хх» для форматирования даты.

var df:DateTimeFormatter = new DateTimeFormatter("en-US"); df.setDateTimePattern("xx"); trace(df.lastOperationStatus); // "patternSyntaxError"
PLATFORM_API_FAILED Указывает на ошибку базовый API платформы при выполнении операции.platformAPIFailedString Указывает на ошибку базовый API платформы при выполнении операции. TRUNCATED_CHAR_FOUND Указывает на то, что обнаружен усеченное значение символа Юникод.truncatedCharFoundString Указывает на то, что обнаружен усеченное значение символа Юникод. UNEXPECTED_TOKEN Указывает на то, что обнаружен неожиданный символ в строке идентификатора локали.unexpectedTokenString Указывает на то, что обнаружен неожиданный символ в строке идентификатора локали.

Например, следующий код отображает значение свойства lastOperationStatus после использования неполной строки в запросе идентификатора локали. В результате свойству lastOperationStatus задается значение UNEXPECTED_TOKEN после вызова метода LocaleID.getKeysAndValues().

var locale:LocaleID = new LocaleID("en-US@Collation"); var kav:Object = locale.getKeysAndValues(); trace(locale.lastOperationStatus); // "unexpectedToken"
UNSUPPORTED_ERROR Указывает на то, что запрашиваемая операция или опция не поддерживается.unsupportedErrorString Указывает на то, что запрашиваемая операция или опция не поддерживается. Это состояние может быть возвращено такими методами, как DateTimeFormatter.setDateTimePattern(), а также при получении таких свойств, как Collator.ignoreCase. USING_DEFAULT_WARNING Обозначает, что во время самой последней операции было использовано значение по умолчанию операционной системы.usingDefaultWarningString Обозначает, что во время самой последней операции было использовано значение по умолчанию операционной системы. Этот состояние могут возвращать конструкторы классов. USING_FALLBACK_WARNING Обозначает, что во время самой последней операции было использовано резервное значение.usingFallbackWarningString Обозначает, что во время самой последней операции было использовано резервное значение. Это значение может быть возвращено конструкторами и методами, такими как DateTimeFormatter.setDateTimeStyles(), а также при получении свойств, таких как CurrencyFormatter.groupingPattern.
NationalDigitsType Класс NationalDigitsType перечисляет константы, которые обозначают наборы цифр, используемые классом NumberFormatter.Object Класс NationalDigitsType перечисляет константы, которые обозначают наборы цифр, используемые классом NumberFormatter. Значение каждой константы представляет значение Юникод для нуля в указанном десятичном наборе цифр. ARABIC_INDIC Представляет значение Юникод для нуля в арабско-индийском наборе цифр.0x0660uint Представляет значение Юникод для нуля в арабско-индийском наборе цифр. BALINESE Представляет значение Юникод для нуля в балийском наборе цифр.0x1B50uint Представляет значение Юникод для нуля в балийском наборе цифр. BENGALI Представляет значение Юникод для нуля в бенгальском наборе цифр.0x09E6uint Представляет значение Юникод для нуля в бенгальском наборе цифр. CHAM Представляет значение Юникод для нуля в наборе цифр Чам.0xAA50uint Представляет значение Юникод для нуля в наборе цифр Чам. DEVANAGARI Представляет значение Юникод для нуля в девангарском наборе цифр.0x0966uint Представляет значение Юникод для нуля в девангарском наборе цифр. EUROPEAN Представляет значение Юникод для нуля в европейском наборе цифр (Latin-1).0x0030uint Представляет значение Юникод для нуля в европейском наборе цифр (Latin-1). EXTENDED_ARABIC_INDIC Представляет значение Юникод для нуля в расширенном арабско-индийском наборе цифр.0x06F0uint Представляет значение Юникод для нуля в расширенном арабско-индийском наборе цифр. FULL_WIDTH Представляет значение Юникод для нуля в полноширинном наборе цифр.0xFF10uint Представляет значение Юникод для нуля в полноширинном наборе цифр. GUJARATI Представляет значение Юникод для нуля набора цифр гуджарати.0x0AE6uint Представляет значение Юникод для нуля набора цифр гуджарати. GURMUKHI Представляет значение Юникод для нуля в наборе цифр гурмукхи.0x0A66uint Представляет значение Юникод для нуля в наборе цифр гурмукхи. KANNADA Представляет значение Юникод для нуля набора цифр каннада.0x0CE6uint Представляет значение Юникод для нуля набора цифр каннада. KAYAH_LI Представляет значение Юникод для нуля набора цифр кая.0xA900uint Представляет значение Юникод для нуля набора цифр кая. KHMER Представляет значение Юникод для нуля в кхмерском наборе цифр.0x17E0uint Представляет значение Юникод для нуля в кхмерском наборе цифр. LAO Представляет значение Юникод для нуля лаосского набора цифр.0x0ED0uint Представляет значение Юникод для нуля лаосского набора цифр. LEPCHA Представляет значение Юникод для нуля набора цифр лепча.0x1C40uint Представляет значение Юникод для нуля набора цифр лепча. LIMBU Представляет значение Юникод для нуля в наборе цифр лимбу.0x1946uint Представляет значение Юникод для нуля в наборе цифр лимбу. MALAYALAM Представляет значение Юникод для нуля в малайяламском наборе цифр.0x0D66uint Представляет значение Юникод для нуля в малайяламском наборе цифр. MONGOLIAN Представляет значение Юникод для нуля монгольского набора цифр.0x1810uint Представляет значение Юникод для нуля монгольского набора цифр. MYANMAR_SHAN Представляет значение Юникод для нуля шанского набора цифр.0x1090uint Представляет значение Юникод для нуля шанского набора цифр. MYANMAR Представляет значение Юникод для нуля в бирманском наборе цифр.0x1040uint Представляет значение Юникод для нуля в бирманском наборе цифр. NEW_TAI_LUE Представляет значение Юникод для нуля нового набора цифр тай-лы.0x19D0uint Представляет значение Юникод для нуля нового набора цифр тай-лы. NKO Представляет значение Юникод для нуля в наборе цифр нко.0x07C0uint Представляет значение Юникод для нуля в наборе цифр нко. OL_CHIKI Представляет значение Юникод для нуля набора цифр ол-чики.0x1C50uint Представляет значение Юникод для нуля набора цифр ол-чики. ORIYA Представляет значение Юникод для нуля в наборе цифр ории.0x0B66uint Представляет значение Юникод для нуля в наборе цифр ории. OSMANYA Представляет значение Юникод для нуля в османском наборе цифр.0x104A0uint Представляет значение Юникод для нуля в османском наборе цифр. SAURASHTRA Представляет значение Юникод для нуля в наборе цифр саураштра.0xA8D0uint Представляет значение Юникод для нуля в наборе цифр саураштра. SUNDANESE Представляет значение Юникод для нуля в суданском наборе цифр.0x1BB0uint Представляет значение Юникод для нуля в суданском наборе цифр. TAMIL Представляет значение Юникод для нуля в тамильском наборе цифр.0x0BE6uint Представляет значение Юникод для нуля в тамильском наборе цифр. TELUGU Представляет значение Юникод для нуля в наборе цифр телугу.0x0C66uint Представляет значение Юникод для нуля в наборе цифр телугу. THAI Представляет значение Юникод для нуля в тайском наборе цифр.0x0E50uint Представляет значение Юникод для нуля в тайском наборе цифр. TIBETAN Представляет значение Юникод для нуля в тибетском наборе цифр.0x0F20uint Представляет значение Юникод для нуля в тибетском наборе цифр. VAI Представляет значение Юникод для нуля в наборе цифр вай.0xA620uint Представляет значение Юникод для нуля в наборе цифр вай. CurrencyParseResult Структура данных, которая представляет собой денежную сумму или строку символа валюты, которые были извлечены путем анализа значения валюты.Object Структура данных, которая представляет собой денежную сумму или строку символа валюты, которые были извлечены путем анализа значения валюты. CurrencyFormatter.parse()CurrencyParseResult Создает объект результата анализа валюты.valueNumberunknownЧисло, представляющее значение денежной суммы. symbolStringСтрока, представляющая символ валюты. Создает объект результата анализа валюты. currencyString Часть строки ввода, которая соответствует символу или строке валюты.String Часть строки ввода, которая соответствует символу или строке валюты. value Значение денежной суммы, извлеченное из строки ввода.Number Значение денежной суммы, извлеченное из строки ввода. NumberParseResult Структура данных, которая хранит информацию о числе, извлеченном в процессе анализа строки.Object Структура данных, которая хранит информацию о числе, извлеченном в процессе анализа строки.

Строка числа может содержать префикс и суффикс до и после числа. В таких случаях свойство startIndex содержит первый символ числа. Также свойство endIndex содержит индекс символа, который следует за последним символом числа.

NumberFormatter.parse()NumberFormatter.parseNumber()NumberParseResult Создает объект результата анализа числа.valueNumberunknownЗначение числовой части входной строки. startIndexint0x7fffffffИндекс первого символа числа в строке ввода. endIndexint0x7fffffffИндекс символа после последнего символа числа в строке ввода. Создает объект результата анализа числа. Объекты NumberParseResult обычно создаются с помощью методов NumberFormatter.parse() и NumberFormatter.parseNumber(), а не путем непосредственного вызова конструктора. NumberFormatter.parse()NumberFormatter.parseNumber()endIndex Индекс символа после последнего символа числовой части в строке ввода.int Индекс символа после последнего символа числовой части в строке ввода. startIndex Индекс первого символа числовой части в строке ввода.int Индекс первого символа числовой части в строке ввода. value Значение числовой части входной строки.Number Значение числовой части входной строки.
LocaleID Класс LocaleID предоставляет методы для анализа и использования имен идентификаторов локали.Object Класс LocaleID предоставляет методы для анализа и использования имен идентификаторов локали. Этот класс поддерживает имена идентификаторов локали, в которых используется синтаксис, определенный техническим стандартом Юникод №#35 (Unicode Technical Standard #35, http://unicode.org/reports/tr35/). Следующий пример демонстрирует извлечение и отображение информации о строках LocaleID для различных локалей.

В этом примере демонстрируется использование следующих локалей: арабская (Саудовская Аравия), английская (США), английская (США, вариант POSIX), китайская (КНР), китайская (Тайвань), китайская (упрощенная транскрипция хань), китайская (КНР с разными клавишами и значениями).

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

  1. Создается новый объект LocaleID.
  2. Отображаются различные свойства LocaleID. Показанные значения будут варьироваться в зависимости от операционной системы и пользовательских установок.
  3. Отображается полный набор клавиш и значений для LocaleID.
package { import flash.display.Sprite; import flash.globalization.LocaleID; public class LocaleIDExample extends Sprite { public function LocaleIDExample() { var localeNames:Array = ["ar-SA", "EN_us", "en-US-POSIX", "zh-CH", "zh-TW", "zh-Hans", "zh-CH@collation=pinyin;calendar=chinese;currency=RMB"]; for ( var i:int = 0; i < localeNames.length; i++ ) { var locID:LocaleID = new LocaleID( localeNames[i] as String ); trace('\n\n' + "LocaleID requested: " + locID.requestedLocaleIDName + "; actual: " + locID.actualLocaleIDName); trace( "Last Operation Status after new LocaleID: " + locID.lastOperationStatus); trace("name: " + locID.name); trace("language: " + locID.getLanguage() + "; status: " + locID.lastOperationStatus); trace("script: " + locID.getScript() + "; status: " + locID.lastOperationStatus); trace("region: " + locID.getRegion() + "; status: " + locID.lastOperationStatus); trace("variant: " + locID.getVariant() + "; status: " + locID.lastOperationStatus); trace("isRightToLeft: ", locID.isRightToLeft(), "; status: " + locID.lastOperationStatus); var keysAndValues:Object = locID.getKeysAndValues(); var key:String; for (key in keysAndValues) { trace("key: ", key + " value: " + keysAndValues[ key ]); } trace( "Last Operation Status after getKeysAndValues(): " + locID.lastOperationStatus); } } } }
Технический стандарт Юникод №35LocaleID Создает новый объект LocaleID с использованием имени локали.если имя не указано. ArgumentErrorArgumentErrornameStringИмя идентификатора локали, которое также может включать дополнительную строку сопоставления. Пример: "en-US" или "de-DE@collation=phonebook" Создает новый объект LocaleID с использованием имени локали. Имя локали должно соответствовать синтаксису, определенному в Техническом стандарте Юникод №35 (http://unicode.org/reports/tr35/).

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

  • LastOperationStatus.NO_ERROR

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

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

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

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

lastOperationStatusLastOperationStatus
determinePreferredLocales Возвращает список допустимых локалей, исходя из списков желаемых и доступных в данный момент локалей.Подмножество доступных локалей, отсортированных согласно установкам пользователя. wantСписок предпочтительных локалей пользователя, отсортированный в порядке предпочтения. haveСписок локалей, доступных приложению. Порядок этого списка не имеет значения. keywordStringuserinterfaceКлючевое слово, которое следует использовать для определения оптимального варианта. Возвращает список допустимых локалей, исходя из списков желаемых и доступных в данный момент локалей.

Результирующий список сортируется в порядке предпочтения.

Ниже приводится пример типичного использования этого метода.

  • Пользователь определяет список языков, которые он понимает (сохраненных в профиле пользователя, настройках браузера или файле cookie). Сначала пользователь указывает языки, которые он понимает лучше всего, поэтому порядок перечисления имеет большое значение. Это список пожеланий.
  • Приложение локализовано для разных языков. Это список доступных языков.
  • Метод determinePreferredLocales() возвращает совпадающие элементы из этих двух списков, перечисленные в порядке предпочтений пользователя.

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

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusLastOperationStatus
getKeysAndValues Возвращает объект, содержащий все пары клавиш и значений из объекта LocaleID.Объект, который содержит все клавиши и значения в объекте LocaleID и имеет структуру ассоциативного массива или хэш-таблицы. Object Возвращает объект, содержащий все пары клавиш и значений из объекта LocaleID.

Возвращенный объект имеет структуру хеш-таблицы или ассоциативного массива, где каждое имя свойства представляет клавишу, а значение этого свойства — значение для этой клавиши. Например, следующий код перечисляет все клавиши и значения, полученные из объекта LocaleID с помощью метода getKeysAndValues().

var myLocale:LocaleID = new LocaleID("fr-CA"); var localeData:Object = myLocale.getKeysAndValues(); for (var propertyName:String in localeData) { trace(propertyName + " = " + localeData[propertyName]); }

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusLastOperationStatus
getLanguage Возвращает код языка, определенный в имени идентификатора локали.Двухзначный код языка, полученный путем анализа имени идентификатора локали. String Возвращает код языка, определенный в имени идентификатора локали.

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

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusLastOperationStatus
getRegion Возвращает код региона, определенный в имени идентификатора локали.Двухзначный код региона или пустая строка, если код региона невозможно получить путем анализа или иным способом из имени локали. String Возвращает код региона, определенный в имени идентификатора локали.

Этот метод возвращает пустую строку, если код региона не удается выделить путем анализа или наугад. Такое случается, если используется неизвестное или неполное имя идентификатора локали, например «xy». Код региона не проверяется по фиксированному списку. Например, для имени идентификатора локали xx-YY возвращается код региона YY.

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

  • LastOperationStatus.NO_ERROR

Если регион не указывается в имени локали, «угадывается» наиболее вероятный код региона для локали, а свойству lastOperationStatus задается значение LastOperationStatus.USING_FALLBACK_WARNING

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

lastOperationStatusLastOperationStatus
getScript Возвращает код транскрипции, определенный в имени идентификатора локали.Четырехзначный код транскрипции или пустая строка, если код транскрипции невозможно получить путем анализа или иным способом из имени локали. String Возвращает код транскрипции, определенный в имени идентификатора локали.

Этот метод возвращает пустую строку, если код транскрипции не удается выделить путем анализа или наугад. Такое случается, если используется неизвестное или неполное имя идентификатора локали, например «xy». Код транскрипции не проверяется по фиксированному списку. Например, для имени идентификатора локали xx-Abcd-YY возвращается код транскрипции Abcd.

Область, а также язык, могут также влиять на возвращаемое значение. Например для идентификатора локали mn-MN (монгольский, Монголия) возвращается код транскрипции Cyrl (кириллица), а для mn-CN (монгольский, Китай) — Mong (монгольский).

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

  • LastOperationStatus.NO_ERROR

Если код транскрипции не указывается в имени локали, «угадывается» наиболее вероятный код для локали, а свойству lastOperationStatus задается значение LastOperationStatus.USING_FALLBACK_WARNING.

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

lastOperationStatusLastOperationStatus
getVariant Возвращает код варианта языка, определенный в имени идентификатора локали.Код варианта языка или пустая строка, если имя идентификатора локали не содержит код варианта языка. String Возвращает код варианта языка, определенный в имени идентификатора локали.

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

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusLastOperationStatus
isRightToLeft Указывает, что для указанной локали текст направлен справа налево.имеет значение true, если основной поток текста в строке должен следовать справа налево, в противном случае имеет значение false; Boolean Указывает, что для указанной локали текст направлен справа налево.

Результат можно использовать для определения направления текста в механизме визуализации текста Flash, а также для определения того, следует ли использовать зеркальное отражение пользовательского интерфейса для обеспечения текущего направления текста.

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

  • LastOperationStatus.NO_ERROR

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

flashx.textLayout.formats.DirectionlastOperationStatusLastOperationStatus
DEFAULT Указывает, что должны использоваться пользовательские настройки языка по умолчанию, заданные в операционной системе.i-defaultString Указывает, что должны использоваться пользовательские настройки языка по умолчанию, заданные в операционной системе. Эти установки обычно задаются в окне «Панель управления» в ОС Windows или в окне «Системные настройки» в ОС Mac OS X.

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

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

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

Этот метод выполняет следующее преобразование в имя идентификатора локали для придания более канонической формы.

  • Для всех компонентов имени применяется надлежащий регистр.
  • Символы подчеркивания меняются на тире.

Дополнительная обработка не выполняется. Например, псевдонимы не заменяются, элементы не добавляются и не удаляются.

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

  • LastOperationStatus.NO_ERROR

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

DateTimeStyle Перечисляет константы, которые определяют шаблон форматирования даты и времени, характерный для локали.Object Перечисляет константы, которые определяют шаблон форматирования даты и времени, характерный для локали. Эти константы используются при создании объекта DateTimeFormatter или вызове метода DateTimeFormatter.setDateTimeStyles().

Константу CUSTOM нельзя использовать ни в конструкторе DateTimeFormatter, ни в методе DateFormatter.setDateTimeStyles(). Эта константа задается как свойство timeStyle и dateStyle в результате вызова метода DateTimeFormatter.setDateTimePattern().

DateTimeFormatterCUSTOM Означает, что для указания стиля даты или времени используется строка пользовательского шаблона.customString Означает, что для указания стиля даты или времени используется строка пользовательского шаблона. LONG Определяет длинный стиль даты или времени.longString Определяет длинный стиль даты или времени. MEDIUM Определяет средний по длине стиль даты или времени.mediumString Определяет средний по длине стиль даты или времени. NONE Указывает, что отформатированная строка не должна включать дату или время.noneString Указывает, что отформатированная строка не должна включать дату или время. SHORT Определяет короткий стиль даты или времени.shortString Определяет короткий стиль даты или времени.
StringTools Класс StringTools предоставляет методы преобразования регистра с учетом локали.Object Класс StringTools предоставляет методы преобразования регистра с учетом локали.

В некоторых ситуация преобразование между буквами верхнего и нижнего регистра требует не просто замены одного символа на другой, но и особой обработки с учетом языка и контекста. Например:

  • В турецком и азербайджанском языках строчной букве i с точкой соответствует прописная буква İ с точкой (U+0130). Подобным образом, прописной букве I без точки соответствует строчная буква без точки ı (U+0131).
  • В немецком языке строчной букве ß (U+00DF) соответствует прописной вариант SS.
  • В греческом языке имеется два вида прописной буквы «сигма», σ (U+03C3) и ς (U+03C2), которым соответствует один прописной вариант Σ (U+03A3).

Методы toLowerCase() и toUpperCase() этого класса обеспечивают такую специальную логику преобразования регистра.

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

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

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

  1. Создается объект StringTools.
  2. Определяется три строки с символами, уникальными для турецкого, греческого и немецкого языков.
  3. Каждая строка преобразуется в верхний и нижний регистр, после чего отображаются результаты. Этот пример демонстрирует интересное поведение символов в определенных локалях, таких как турецкие «Ä±» и «Ä°», немецкие «ÃŸ» и греческие «Î£Ï‚Ïƒ».
package { import flash.display.Sprite; import flash.globalization.LocaleID; import flash.globalization.StringTools; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class StringToolsExample extends Sprite { public function StringToolsExample() { var localeName:String= LocaleID.DEFAULT; var strTool:StringTools = new StringTools(localeName); trace('\n\n' + "LocaleID requested: " + nf.requestedLocaleIDName + "; actual: " + nf.actualLocaleIDName); trace( "Last Operation Status:" + nf.lastOperationStatus ); var turkishStr:String = "iI ıİ"; var greekStr:String = "Σςσβΰ�Σ"; var germanStr:String= "ß"; var tfTurInp:TextField = createTextField(10, 10); tfTurInp.text="Turkish Input: \t " + turkishStr; var tfdash:TextField = createTextField(10, 20); tfdash.text="-------------------"; var tf1:TextField = createTextField(10, 30); tf1.text="\t Upper case: \t " + strTool.toUpperCase(turkishStr); var tf2:TextField = createTextField(10, 40); tf2.text="\t Lower case: \t " + strTool.toLowerCase(turkishStr); var tfgreekInp:TextField = createTextField(10, 60); tfgreekInp.text="Greek Input: \t " + greekStr; var tfdash1:TextField = createTextField(10, 70); tfdash1.text="-------------------"; var tf3:TextField = createTextField(10, 80); tf3.text="\t Upper case: \t " + strTool.toUpperCase(greekStr); var tf4:TextField = createTextField(10, 90); tf4.text="\t Lower case: \t " + strTool.toLowerCase(greekStr); var tfgermanInp:TextField = createTextField(10, 110); tfgermanInp.text="German Input: \t " + germanStr; var tfdash2:TextField = createTextField(10, 120); tfdash2.text="-------------------"; var tf5:TextField = createTextField(10, 130); tf5.text="\t Upper case: \t " + strTool.toUpperCase(germanStr); var tf6:TextField = createTextField(10, 140); tf6.text="\t Lower case: \t " + strTool.toLowerCase(germanStr); } private function createTextField(x:Number, y:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.autoSize=TextFieldAutoSize.LEFT; addChild(result); return result; } } }
StringTools Создает новый объект StringTools, который обеспечивает преобразование регистра и другие служебные функции в соответствии с правилами данной локали.когда параметр requestedLocaleIDName имеет значение null ArgumentErrorArgumentErrorrequestedLocaleIDNameStringПредпочитаемое имя идентификатора локали для использования при определении формата даты или времени. Создает новый объект StringTools, который обеспечивает преобразование регистра и другие служебные функции в соответствии с правилами данной локали.

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

При успешном завершении работы конструктора, свойство lastOperationStatus получает значение:

  • LastOperationStatus.NO_ERROR

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

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

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

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

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

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

  • LastOperationStatus.NO_ERROR

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

toLowerCase Преобразует строку в нижний регистр в соответствии с правилами языка.когда параметр s равен нулю. ArgumentErrorArgumentErrorПреобразованная строка в нижнем регистре. StringsStringСтрока, которую требуется преобразовать в нижний регистр. Преобразует строку в нижний регистр в соответствии с правилами языка. В зависимости от локали длина строки вывода может отличаться от длины строки ввода.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusLastOperationStatus
toUpperCase Преобразует строку в верхний регистр в соответствии с правилами языка.когда параметр s равен нулю. ArgumentErrorArgumentErrorПреобразованная строка в верхнем регистре. StringsStringСтрока, которую требуется преобразовать в верхний регистр. Преобразует строку в верхний регистр в соответствии с правилами языка. В зависимости от локали длина строки вывода может отличаться от длины строки ввода.

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

  • LastOperationStatus.NO_ERROR

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

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

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

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

    Например:

    var tools:StringTools = new StringTools(LocaleID.DEFAULT); var aliName:String = tools.actualLocaleIDName;

    В приведенном выше примере именем локали, соответствующей текущим пользовательским настройкам операционной системы (например, it-IT, если пользователь выбрал локаль «итальянская, Италия») является aliName, а не "i-default" (имя локали LocaleID.DEFAULT).

  3. Если система не поддерживает имя requestedLocaleIDName, определенное в конструкторе, то используется резервное имя идентификатора локали.

    Например:

    var tools:StringTools = new StringTools("fr-CA"); var aliName:String = tools.actualLocaleIDName;

    Если предположить, что операционная система в приведенном выше примере не поддерживает идентификатор локали fr_CA (французская, Канада), используется резервный вариант. В таком случае резервным идентификатором локали является fr-FR (французская, Франция).

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

Если использовано значение LocaleID.DEFAULT, возвращается имя i-default. Локаль, использованная на самом деле, может отличаться от запрашиваемой, когда применяется резервная локаль. Имя фактической локали можно получить с помощью свойства actualLocaleIDName.

LocaleIDactualLocaleIDNameStringTools()
CollatorMode Класс CollatorMode перечисляет константы, которые управляют поведением объекта Collator при сравнении строк.Object Класс CollatorMode перечисляет константы, которые управляют поведением объекта Collator при сравнении строк. Эти константы представляют значения, которые могут передаваться в параметре initialMode конструктора Collator(). CollatorMATCHING Инициализирует объект Collator, чтобы оптимизировать метод сравнения для определения того, эквивалентны ли две строки.matchingString Инициализирует объект Collator, чтобы оптимизировать метод сравнения для определения того, эквивалентны ли две строки. В этом режиме при сравнении строк игнорируются различия в использовании букв верхнего и нижнего регистра, акцентов и др. Конструктор Collator()SORTING Инициализирует объект Collator, чтобы оптимизировать метод сравнения для сортировки списка текстовых строк, которые должны отображаться для конечного пользователя.sortingString Инициализирует объект Collator, чтобы оптимизировать метод сравнения для сортировки списка текстовых строк, которые должны отображаться для конечного пользователя. В этом режиме при сравнении строк учитываются различия в использовании букв верхнего и нижнего регистра, акцентов и др. в соответствии с правилами языка и сортировки для данной локали. Конструктор Collator()NumberFormatter Класс NumberFormatter обеспечивает форматирование и анализ числовых значений с учетом особенностей локали.Object Класс NumberFormatter обеспечивает форматирование и анализ числовых значений с учетом особенностей локали. Он может форматировать объекты int, uint и Number.

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

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

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

Этот пример демонстрирует различное форматирование чисел в зависимости от локали.

В этом примере используются следующие локали: локаль по умолчанию ОС для форматирования чисел, японская (Япония), английская (США) и французская (Франция). В примере используется статический элемент LocaleID.DEFAULT для запроса системной локали по умолчанию.

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

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

  1. Создается объект NumberFormatter.
  2. Одно и тоже значение форматируется как число, целое число и беззнаковое число, затем отображаются результаты.
package { import flash.globalization.NumberFormatter; import flash.globalization.LocaleID; public class NumberFormatterExample extends Sprite { public function NumberFormatterExample():void { var localeNames:Array = [LocaleID.DEFAULT,"ja_JP","en_US","fr_FR"]; for ( var i:int = 0; i < localeNames.length; i++ ) { var nf:NumberFormatter = new NumberFormatter( localeNames[i] as String ); trace('\n\n' + "LocaleID requested: " + nf.requestedLocaleIDName + "; actual: " + nf.actualLocaleIDName); trace( "Last Operation Status:" + nf.lastOperationStatus ); var numberString:String = nf.formatNumber(123456789.19); trace( "Formatted Number:" + numberString); numberString = nf.formatInt(-123456789); trace( "Formatted Int:" + numberString); numberString = nf.formatUint(123456789); trace( "Formatted UInt:" + numberString); } } } }
Этот пример демонстрирует два разных способа синтаксического анализа введенной строки и извлечения числового значения.

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

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

  1. Создается объект NumberFormatter.
  2. Вызывается метод NumberFormatter.parse() для синтаксического анализа строки и получения объекта NumberParseResult.
  3. Вызывается метод NumberFormatter.parseNumber() для синтаксического анализа строки и получения объекта Number.
package { import flash.globalization.NumberFormatter; import flash.globalization.NumberParseResult; import flash.globalization.LastOperationStatus; import flash.globalization.LocaleID; public class NumberFormatterParseExample { public function NumberFormatterParseExample():void { var nf:NumberFormatter = new NumberFormatter( "en_US" ); trace("LocaleID requested: " + nf.requestedLocaleIDName + "; actual: " + nf.actualLocaleIDName); trace( "Last Operation Status:" + nf.lastOperationStatus ); var inputNumberString:String = "123,567,89,0.254"; var parseResult:NumberParseResult = nf.parse(inputNumberString); if ( nf.lastOperationStatus == LastOperationStatus.NO_ERROR ) { trace("Parsed value:" + parseResult.value); } inputNumberString = "-123,567,89,0.254"; var parsedNumber:Number = nf.parseNumber(inputNumberString); if ( nf.lastOperationStatus == LastOperationStatus.NO_ERROR ) { trace("Parsed value:" + parsedNumber); } } } }
NumberFormatter Создает новый объект NumberFormatter для форматирования чисел в соответствии с правилами данной локали.если requestedLocaleIDName имеет значение null TypeErrorTypeErrorrequestedLocaleIDNameStringПредпочитаемое имя идентификатора локали для использования при определении форматов чисел. Создает новый объект NumberFormatter для форматирования чисел в соответствии с правилами данной локали.

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

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

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

  • LastOperationStatus.NO_ERROR

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

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

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

  • LastOperationStatus.UNSUPPORTED_ERROR

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

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

LocaleIDrequestedLocaleIDNameactualLocaleIDNamelastOperationStatusLastOperationStatus
formatInt Форматирует значение целого числа.при любых проблемах выделения внутренней памяти. MemoryErrorflash.errors:MemoryErrorОтформатированная числовая строка. StringvalueintЦелочисленное значение, которое требуется отформатировать. Форматирует значение целого числа. Эта функция эквивалентна методу formatNumber(), но принимает значение int. Если передаваемое значение слишком велико или мало, например больше чем 1,72e308 или меньше чем 1,72e-308, то эта функция возвращает 0.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusflash.globalization.LastOperationStatus
formatNumber Форматирует числовое значение.если возникают проблемы с выделением внутренней памяти. MemoryErrorflash.errors:MemoryErrorОтформатированная числовая строка. StringvalueNumberЧисловое значение, которое требуется отформатировать. Форматирует числовое значение.

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

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

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusLastOperationStatus
formatUint Форматирует значение целого числа без знака.если возникают проблемы с выделением внутренней памяти. MemoryErrorflash.errors:MemoryErrorОтформатированная числовая строка. StringvalueuintЗначение целого числа без знака. Форматирует значение целого числа без знака. Эта функция эквивалентна методу formatNumber(), но принимает значение uint. Если переданное значение слишком велико, например больше 1,72e308, то эта функция возвращает 0.

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

  • LastOperationStatus.NO_ERROR

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

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

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

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

  • LastOperationStatus.NO_ERROR

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

parseNumber Анализирует строку, которая содержит только цифры и/или пробелы, и возвращает число.если parseString имеет значение null TypeErrorTypeErrorNumberparseStringString Анализирует строку, которая содержит только цифры и/или пробелы, и возвращает число. Если строка не начинается с числа или содержит символы, отличные от пробела, которые не входят в состав числа, этот метод возвращает значение NaN. Пробел до или после числовых знаков игнорируется. Разделитель — это символ, который имеет свойство разделителя-пробела (Zs) в Базе данных символов Юникод (см. http://www.unicode.org/ucd/).

Если до или после цифры числа стоит знак «плюс» (+), он рассматривается не как символ пробела. Возвращается значение NaN.

См. описание функции анализа для получения дополнительной информации об анализе чисел и признаках допустимого числа.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusLastOperationStatusparse()parseFloat()NationalDigitsType
parse Анализирует строку и возвращает объект NumberParseResult, содержащий проанализированные элементы.если parseString имеет значение null TypeErrorTypeErrorflash.globalization:NumberParseResultparseStringString Анализирует строку и возвращает объект 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»

Обратите внимание, что допускается использование одного пробела между числом и знаком «минус» или круглой скобкой.

При определении допустимого числа остальные свойства игнорируются. В частности, значение свойства digitsType игнорируется, и знаки могут находиться в любых наборах, перечисленных в классе NationalDigitsType. Значения свойств groupingPattern и useGrouping не влияют на анализ числа.

Если до или после числа в строке следует знак «+», он рассматривается как символ, не входящий в состав числа.

Эта функция не анализирует строки, содержащие числа в экспоненциальном представлении (например, 1,23e40).

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

  • LastOperationStatus.NO_ERROR

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

Следующий код анализирует число из строки, извлекает префикс и суффикс. var nf:NumberFormatter = new NumberFormatter("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"
lastOperationStatusLastOperationStatusNumberParseResultparseNumber()parseFloat()NationalDigitsType
actualLocaleIDName Имя фактического идентификатора локали, используемого этим объектом NumberFormatter.String Имя фактического идентификатора локали, используемого этим объектом NumberFormatter.

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

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

    Например:

    var fmt:NumberFormatter = new NumberFormatter(LocaleID.DEFAULT); var aliName:String = fmt.actualLocaleIDName;

    В приведенном выше примере именем локали, соответствующей текущим пользовательским настройкам операционной системы (например, it-IT, если пользователь выбрал локаль «итальянская, Италия») является aliName, а не "i-default" (имя локали LocaleID.DEFAULT).

  3. Если система не поддерживает имя requestedLocaleIDName, определенное в конструкторе, то используется резервное имя идентификатора локали.

    Например:

    var fmt:NumberFormatter = new NumberFormatter("fr-CA"); var aliName:String = fmt.actualLocaleIDName;

    Если предположить, что операционная система в приведенном выше примере не поддерживает идентификатор локали fr_CA (французская, Канада), используется резервный вариант. В таком случае резервным идентификатором локали является fr-FR (французская, Франция).

LocaleIDrequestedLocaleIDNameNumberFormatter()
decimalSeparator Символ-разделитель десятичной дроби, используемый для форматирования или анализа чисел с дробной частью.Stringесли это свойство имеет нулевое значение. TypeErrorTypeErrordependent on the locale and operating system. Символ-разделитель десятичной дроби, используемый для форматирования или анализа чисел с дробной частью.

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

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

  • LastOperationStatus.NO_ERROR

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

formatInt()formatNumber()formatUInt()lastOperationStatusLastOperationStatus
digitsType Определяет набор цифровых символов, которые должны использоваться при форматировании чисел.uintесли это свойство имеет нулевое значение. TypeErrorTypeErrordependent on the locale and operating system. Определяет набор цифровых символов, которые должны использоваться при форматировании чисел.

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

Значение этого свойства представляет значение Юникод для обозначения нуля в десятичном наборе цифр. Действительные значения для этого свойства определены в классе NationalDigitsType.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusLastOperationStatusNationalDigitsType
fractionalDigits Максимальное число цифр, которые могут отображаться после десятичного разделителя.int0 Максимальное число цифр, которые могут отображаться после десятичного разделителя.

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

Когда свойство trailingZeros имеет значение true, дробная часть числа (после запятой) дополняется нулями, чтобы ее длина соответствовала значению данного свойства fractionalDigits.

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

  • LastOperationStatus.NO_ERROR

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

trailingZeroslastOperationStatusflash.globalization.LastOperationStatus
groupingPattern Описывает размещение разделителей группировки в пределах отформатированной числовой строки.Stringесли это свойство имеет нулевое значение. TypeErrorTypeError Описывает размещение разделителей группировки в пределах отформатированной числовой строки.

Когда свойство useGrouping имеет значение true, свойство groupingPattern используется для определения местоположения разделителя группировки и используемого шаблона.

Шаблон группировки определяется как строка, содержащая числа, разделенные точкой с запятой и в некоторых случаях может оканчиваться звездочкой. Например: "3;2;*". Каждое число в строке представляет собой количество цифр в группе. Разделитель группировки помещается перед каждой группой цифр. Звездочка в конце строки обозначает, что группы с этим числом цифр должны повторяться до конца отформатированной строки. Если звездочки нет, то в оставшейся части отформатированной строки нет дополнительных групп или символов.

Первое число в строке соответствует первой группе цифр слева от десятичного разделителя. Последующие числа определяют количество цифр в следующих группах слева. Таким образом строка «3;2;*» обозначает, что разделитель группировки ставится после первой группы из 3 цифр, за которой следует группы из 2 цифр. Например: 98,76,54,321

В следующей таблице приводятся примеры форматирования числа 123456789,12 с различными шаблонами группировки. В данном случае в качестве разделителя группировки используется запятая, а в качестве десятичного разделителя — точка.

Шаблон группировкиОбразец формата3;*123,456,789.123;2;*12,34,56,789.123123456,789.12

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

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

  • LastOperationStatus.NO_ERROR

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

groupingSeparatoruseGroupinglastOperationStatusLastOperationStatus
groupingSeparator Символ или строка, используемые в качестве разделителя группировки.Stringесли это свойство имеет нулевое значение. TypeErrorTypeErrordependent on the locale and operating system. Символ или строка, используемые в качестве разделителя группировки.

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

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

  • LastOperationStatus.NO_ERROR

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

formatInt()formatNumber()formatUInt()useGroupinglastOperationStatusLastOperationStatus
lastOperationStatus Состояние предыдущей операции, которую выполнял этот объект NumberFormatter.String Состояние предыдущей операции, которую выполнял этот объект NumberFormatter. Свойство lastOperationStatus задается каждый раз при вызове конструктора или метода этого класса или при задании значения для другого свойства. Другие возможные значения см. в описании соответствующего метода. LastOperationStatusleadingZero Определяет, включается ли начальный нуль в отформатированное число, если слева от десятичного разделителя нет целых чисел.Booleanесли это свойство имеет нулевое значение. TypeErrorTypeErrordependent on the locale and operating system. Определяет, включается ли начальный нуль в отформатированное число, если слева от десятичного разделителя нет целых чисел.

Когда это свойство имеет значение true начальный нуль добавляется слева от десятичного разделителя при форматировании числовых значений в диапазоне от -1.0 до 1.0. Когда это свойство имеет значение false, начальный нуль не добавляется.

Например, если форматируется число 0,321 и это свойство имеет значение true, тогда в отформатированную строку включается начальный нуль. Если свойство имеет значение false, то начальный нуль не включается. В этом случае строка будет содержать только десятичный разделитель и дробную часть: .321.

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

trailingZerosleadingZerofractionalDigits0.120truetrue30.1200.000falsetrue30.120truefalse3.120.000falsefalse3.120

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

  • LastOperationStatus.NO_ERROR

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

formatInt()formatNumber()formatUInt()trailingZeroslastOperationStatusLastOperationStatus
negativeNumberFormat Числовое значение, которое обозначает шаблон форматирования для отрицательных чисел.uintесли присвоенное значение не является числом в диапазоне от 0 до 4. ArgumentErrorArgumentErrordependent on the locale and operating system. Числовое значение, которое обозначает шаблон форматирования для отрицательных чисел. Этот шаблон определяет местоположение отрицательного символа или круглых скобок относительно числовой части форматируемого числа.

В следующей таблице сведены все возможные форматы отрицательных чисел. При форматировании отрицательного числа знак «-» в шаблоне заменяется значением свойства negativeSymbol, а символ «n» заменяется отформатированным числовым значением.

Тип формата отрицательного числаФормат0(n)1-n2- n3n-4n -

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

  • LastOperationStatus.NO_ERROR

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

negativeSymbolformatInt()formatNumber()formatUInt()lastOperationStatusLastOperationStatus
negativeSymbol Отрицательный символ, который должен использоваться при форматировании отрицательных величин.Stringесли система не может выделить достаточный объем внутренней памяти. MemoryErrorflash.errors:MemoryError Отрицательный символ, который должен использоваться при форматировании отрицательных величин.

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

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

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

  • LastOperationStatus.NO_ERROR

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

negativeNumberFormatformatInt()formatNumber()formatUInt()lastOperationStatusLastOperationStatus
requestedLocaleIDName Имя запрашиваемого идентификатора локали, переданного конструктору этого объекта NumberFormatter.String Имя запрашиваемого идентификатора локали, переданного конструктору этого объекта NumberFormatter.

Если использовано значение LocaleID.DEFAULT, возвращается имя i-default. Локаль, использованная на самом деле, может отличаться от запрашиваемой, когда применяется резервная локаль. Имя фактической локали можно получить с помощью свойства actualLocaleIDName.

LocaleIDactualLocaleIDNameNumberFormatter()
trailingZeros Определяет, добавляются ли нули в конце форматируемого числа.Booleanесли это свойство имеет нулевое значение. TypeErrorTypeErrordependent on the locale and operating system. Определяет, добавляются ли нули в конце форматируемого числа.

Когда это свойство имеет значение true, в конце дробной части отформатированного числа добавляются нули, чтобы его длина соответствовала ограничению, определенному в свойстве fractionalDigits. Когда это свойство имеет значение false, нули в конце числа не отображаются.

Например, если форматируется числовое значение 123,4, это свойство имеет значение true, а свойству fractionalDigits задано значение 3, в конце отформатированной строки будут отображаться нули: 123,400. Если же это свойство имеет значение false, нули в конце строки не добавляются, и после десятичного разделителя отображаются только ненулевые цифры: 123,4.

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

trailingZerosleadingZerofractionalDigits0.120truetrue30.1200.000falsetrue30.120truefalse3.120.000falsefalse3.120

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

  • LastOperationStatus.NO_ERROR

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

leadingZerolastOperationStatusLastOperationStatus
useGrouping Позволяет использовать разделитель группировки при форматировании чисел.Boolean Позволяет использовать разделитель группировки при форматировании чисел.

Когда свойство useGrouping имеет значение true, цифры группируются и разделяются с использованием символа-разделителя группировки. Например, 123,456,789.22

Когда свойство useGrouping имеет значение false, цифры не группируются и не разделяются. Например, 123456789.22

Символ, который должен использоваться в качестве разделителя группировки, определяется свойством groupingSeparator. Число знаком между разделителями группировки определяется свойством groupingPattern.

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

  • LastOperationStatus.NO_ERROR

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

groupingPatterngroupingSeparatorlastOperationStatusLastOperationStatus
DateTimeNameContext Класс DateTimeNameContext перечисляет константы, представляющие контекст форматирования, в котором используется название месяца или дня недели.Object Класс DateTimeNameContext перечисляет константы, представляющие контекст форматирования, в котором используется название месяца или дня недели. Эти константы используются в качестве значения параметра context для методов getMonthNames() и getWeekDayNames() класса DateTimeFormatter.

Параметр context изменяет результаты этих методов только для определенных локалей и операционных систем. Для большинства локалей списки названий месяцев и дней недели не изменяются в зависимости от контекста.

DateTimeFormatter.getMonthNames()DateTimeFormatter.getWeekDayNames()FORMAT Обозначает, что имя элемента даты используется в формате даты.formatString Обозначает, что имя элемента даты используется в формате даты. STANDALONE Обозначает, что имя элемента даты используется в «автономном» контексте, независимо от других форматов.standaloneString Обозначает, что имя элемента даты используется в «автономном» контексте, независимо от других форматов. Например, имя может использоваться для отображения только названия месяца в календаре или только название дня недели в инструменте выбора дат.
DateTimeNameStyle Класс DateTimeNameStyle перечисляет константы, которые управляют длиной названий месяцев и дней недели, которые используются при форматировании даты.Object Класс DateTimeNameStyle перечисляет константы, которые управляют длиной названий месяцев и дней недели, которые используются при форматировании даты. Эти константы используются для параметра nameStyle методов getMonthNames() и getWeekDayNames() класса DateTimeFormatter.

Константы LONG_ABBREVIATION и SHORT_ABBREVIATION могут иметь одинаковые или разные значения в зависимости от настроек операционной системы.

DateTimeFormatterFULL Определяет полную форму или стиль полного названия месяцев и дней недели.fullString Определяет полную форму или стиль полного названия месяцев и дней недели. Например: вторник, ноябрь. LONG_ABBREVIATION Определяет длинный стиль сокращения для названий месяцев и дней недели.longAbbreviationString Определяет длинный стиль сокращения для названий месяцев и дней недели. Например: «втор» для вторника, «ноя» для ноября. SHORT_ABBREVIATION Определяет короткий стиль сокращения для названий месяцев и дней недели.shortAbbreviationString Определяет короткий стиль сокращения для названий месяцев и дней недели. Например: «вт» для вторника, «н» для ноября.
CurrencyFormatter Класс CurrencyFormatter обеспечивает форматирование и анализ денежных значений с учетом особенностей локали.Object Класс CurrencyFormatter обеспечивает форматирование и анализ денежных значений с учетом особенностей локали.

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

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

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

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

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

  • локаль операционной системы по умолчанию для форматирования денежных сумм (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); } } } } }
Следующий код анализирует денежную сумму с помощью правил для данной локали. Результаты выполнения этого кода могут варьироваться в зависимости от системных и пользовательских настроек.

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

  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); } } } }
CurrencyFormatter Создает новый объект CurrencyFormatter, чтобы отформатировать числа, представляющие денежные суммы в соответствии с правилами данной локали.если параметр requestedLocaleIDName имеет значение null. TypeErrorTypeErrorrequestedLocaleIDNameStringПредпочитаемое имя идентификатора локали для использования при определении формата даты или времени. Создает новый объект 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.

lastOperationStatusrequestedLocaleIDNameactualLocaleIDNameLastOperationStatusLocaleID
format Создается строка, которая представляет денежную сумму, отформатированную в соответствии с текущими свойствами данного объекта CurrencyFormatter, включая локаль, символ валюты и код валюты ISO.Строка, содержащая отформатированное значение валюты. StringvalueNumberЧисловое значение, которое требуется отформатировать в строку валюты. withCurrencySymbolBooleanfalseКогда установлено значение false, свойство currencyISOCode определяет, какая строка или символ валюты используется в строке вывода. Когда установлено значение true, в строке вывода используется текущее значение свойства currencySymbol. Создается строка, которая представляет денежную сумму, отформатированную в соответствии с текущими свойствами данного объекта CurrencyFormatter, включая локаль, символ валюты и код валюты ISO.

По умолчанию этот метод использует свойство currencyISOCode для определения символ и другие настройки валюты, используемые при форматировании.

Во многих странах и регионах одинаковые символы валюты используются для обозначения разных денежных единиц. Например, в Соединенных Штатах, Австралии, Новой Зеландии, Канаде и Мексике используется один и тот же знак доллара ($) для обозначения местной валюты. Когда форматируемая валюта отличается от местной валюты пользователя, лучше использовать код ISO для обозначения валюты Можно вызвать метод formattingWithCurrencySymbolIsSafe(), чтобы проверить совпадает ли код ISO форматируемой валюты со свойством currencyISOCode объекта CurrencyFormatter.

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

В данном примере запрашивается локаль 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" }
currencySymbolcurrencyISOCodeformattingWithCurrencySymbolIsSafe()lastOperationStatusLastOperationStatus
formattingWithCurrencySymbolIsSafe Определяет, может ли текущий заданный символ валюты использоваться при форматировании денежных сумм.если параметр requestedISOCode имеет значение null. TypeErrorTypeErrorимеет значение true, если свойство currencyISOCode соответствует параметру requestedISOCode; в противном случае имеет значение false. BooleanrequestedISOCodeStringТрехбуквенный код валюты ISO 4217 (например, USD для долларов США, EUR для евро). Должен содержать три прописных буквы от A до Z. Определяет, может ли текущий заданный символ валюты использоваться при форматировании денежных сумм.

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

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

Этот метод сравнивает параметр requestedISOCode с текущим значением свойства currencyISOCode и возвращает true, если строки совпадают, и false, если не совпадают. Когда строки совпадают, использование метода format() с параметром withCurrencySymbol, которому задано значение true, приводит к тому, что отформатированная строка с денежной суммой будет содержать уникальный символ валюты для данной локали. Если этот метод возвращает значение false, то использование метода format() с параметром withCurrencySymbol, которому задано значение true, может привести к использованию неоднозначного или некорректного символа валюты.

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

  • LastOperationStatus.NO_ERROR

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

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

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

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

  • LastOperationStatus.NO_ERROR

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

parse Анализирует строку, возвращая денежную сумму и символ валюты.если параметр inputString имеет значение null. TypeErrorTypeErrorОбъект CurrencyParseResult, содержащий числовое значение и символ или строку валюты. flash.globalization:CurrencyParseResultinputStringStringСтрока ввода для анализа. Анализирует строку, возвращая денежную сумму и символ валюты.

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

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

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

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

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

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

  • LastOperationStatus.NO_ERROR

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

decimalSeparatornegativeCurrencyFormatpositiveCurrencyFormatCurrencyParseResultlastOperationStatusLastOperationStatus
setCurrency Задает свойства currencyISOCode и currencySymbol объекта CurrencyFormatter.если currencyISOCode или currencySymbol имеет нулевое значение. TypeErrorTypeErrordependent on the actual locale and operating system currencyISOCodeStringТрехбуквенный код валюты ISO 4217 (например, USD для долларов США, EUR для евро). Должен содержать три прописных буквы от A до Z. currencySymbolString Символ или строка валюты для использования при форматировании денежных сумм. Может быть пустой строкой. Задает свойства currencyISOCode и currencySymbol объекта CurrencyFormatter.

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

  • LastOperationStatus.NO_ERROR

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

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

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

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

    Например:

    var fmt:CurrencyFormatter = new CurrencyFormatter(LocaleID.DEFAULT); var aliName:String = fmt.actualLocaleIDName;

    В приведенном выше примере именем локали, соответствующей текущим пользовательским настройкам операционной системы (например, it-IT, если пользователь выбрал локаль «итальянская, Италия») является aliName, а не "i-default" (имя локали LocaleID.DEFAULT).

  3. Если система не поддерживает имя requestedLocaleIDName, определенное в конструкторе, то используется резервное имя идентификатора локали.

    Например:

    var fmt:CurrencyFormatter = new CurrencyFormatter("fr-CA"); var aliName:String = fmt.actualLocaleIDName;

    Если предположить, что операционная система в приведенном выше примере не поддерживает идентификатор локали fr_CA (французская, Канада), используется резервный вариант. В таком случае резервным идентификатором локали является fr-FR (французская, Франция).

LocaleIDrequestedLocaleIDNameCurrencyFormatter()
currencyISOCode Трехбуквенный код ISO 4217 для фактически использованной локали.Stringdependent on the actual locale and operating system Трехбуквенный код ISO 4217 для фактически использованной локали.

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

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

format()setCurrency()currencySymbol
currencySymbol Символ или строка валюты для фактически используемой локали.Stringdependent on the actual locale and operating system Символ или строка валюты для фактически используемой локали.

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

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

format()setCurrency()formattingWithCurrencySymbolIsSafe()currencyISOCode
decimalSeparator Символ-разделитель десятичной дроби, используемый для форматирования или анализа денежных сумм с дробной частью.Stringесли это свойство имеет нулевое значение. TypeErrorTypeErrordependent on the actual locale and operating system Символ-разделитель десятичной дроби, используемый для форматирования или анализа денежных сумм с дробной частью.

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

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

  • LastOperationStatus.NO_ERROR

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

format()lastOperationStatusLastOperationStatus
digitsType Определяет набор цифровых символов, используемых при форматировании денежных сумм.uintесли это свойство имеет нулевое значение. TypeErrorTypeErrordependent on the actual locale and operating system Определяет набор цифровых символов, используемых при форматировании денежных сумм.

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

Значение этого свойства представляет значение Юникод для обозначения нуля в десятичном наборе цифр. Действительные значения для этого свойства определены в классе NationalDigitsType.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatusLastOperationStatusNationalDigitsType
fractionalDigits Максимальное число цифр, которые могут отображаться после десятичного разделителя.int0 Максимальное число цифр, которые могут отображаться после десятичного разделителя.

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

Когда свойство trailingZeros имеет значение true, дробная часть числа (после запятой) дополняется нулями, чтобы ее длина соответствовала значению данного свойства fractionalDigits.

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

  • LastOperationStatus.NO_ERROR

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

trailingZeroslastOperationStatusLastOperationStatus
groupingPattern Описывает размещение разделителей группировки в пределах отформатированной строки денежной суммы.Stringесли это свойство имеет нулевое значение. TypeErrorTypeError Описывает размещение разделителей группировки в пределах отформатированной строки денежной суммы.

Когда свойство useGrouping имеет значение true, свойство groupingPattern используется для определения местоположения разделителя группировки и используемого шаблона.

Шаблон группировки определяется как строка, содержащая числа, разделенные точкой с запятой и в некоторых случаях может оканчиваться звездочкой. Например: "3;2;*". Каждое число в строке представляет собой количество цифр в группе. Разделитель группировки помещается перед каждой группой цифр. Звездочка в конце строки обозначает, что группы с этим числом цифр должны повторяться до конца отформатированной строки. Если звездочки нет, то в оставшейся части отформатированной строки нет дополнительных групп или символов.

Первое число в строке соответствует первой группе цифр слева от десятичного разделителя. Последующие числа определяют количество цифр в следующих группах слева. Таким образом строка «3;2;*» обозначает, что разделитель группировки ставится после первой группы из 3 цифр, за которой следует группы из 2 цифр. Например: 98,76,54,321

В следующей таблице приводятся примеры форматирования денежной суммы 123456789,12 с различными шаблонами группировки. В качестве символа группировки используется запятая, десятичный разделитель — точка, символ валюты — знак доллара ($).

Шаблон группировкиОбразец формата3;* $123,456,789.123;2;*$12,34,56,789.123$123456,789.12

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

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

  • LastOperationStatus.NO_ERROR

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

groupingSeparatoruseGroupinglastOperationStatusLastOperationStatus
groupingSeparator Символ или строка, используемые в качестве разделителя группировки.Stringесли это свойство имеет нулевое значение. TypeErrorTypeErrordependent on the actual locale and operating system Символ или строка, используемые в качестве разделителя группировки.

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

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

  • LastOperationStatus.NO_ERROR

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

format()useGroupinglastOperationStatusLastOperationStatus
lastOperationStatus Состояние самой последней операции, выполненной этим объектом CurrencyFormatter.String Состояние самой последней операции, выполненной этим объектом CurrencyFormatter. Свойство lastOperationStatus задается каждый раз при вызове конструктора или метода этого класса или при задании значения для другого свойства. Другие возможные значения см. в описании соответствующего метода. LastOperationStatusleadingZero Определяет, включается ли начальный нуль в отформатированную денежную сумму, если слева от десятичного разделителя нет целых чисел.Booleanесли это свойство имеет нулевое значение. TypeErrorTypeErrordependent on the actual locale and operating system Определяет, включается ли начальный нуль в отформатированную денежную сумму, если слева от десятичного разделителя нет целых чисел.

Когда это свойство имеет значение true начальный нуль добавляется слева от десятичного разделителя при форматировании числовых значений в диапазоне от -1.0 до 1.0. Когда это свойство имеет значение false, начальный нуль не добавляется.

Например, если форматируется денежная сумма 0,321 и это свойство имеет значение true, тогда в отформатированную строку включается начальный нуль. Если свойство имеет значение false, то начальный нуль не включается. В этом случае строка будет содержать только десятичный разделитель и дробную часть: $.321.

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

trailingZerosleadingZerofractionalDigits0.120truetrue3$0.120$0.000falsetrue3$0.12$0truefalse3$.120$.000falsefalse3$.12$0

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

  • LastOperationStatus.NO_ERROR

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

format()lastOperationStatusLastOperationStatustrailingZeros
negativeCurrencyFormat Числовое значение, которое обозначает шаблон форматирования для отрицательных денежных сумм.uintесли присвоенное значение не является числом в диапазоне от 0 до 15. ArgumentErrorArgumentErrordependent on the actual locale and operating system Числовое значение, которое обозначает шаблон форматирования для отрицательных денежных сумм. Этот шаблон определяет местоположение символа валюты и отрицательного символа или круглых скобок относительно числовой части денежной суммы.

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

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

  • вместо символа «¤» подставляется значение свойства currencyISOCode или currencySymbol в зависимости от значения параметра withCurrencySymbol, переданного методу format();
  • вместо символа «-» подставляется значение свойства negativeNumberSymbol;
  • вместо символа «n» подставляется денежная сумма, переданная методу format().
Тип формата отрицательной денежной суммыШаблон форматирования0(¤n)1-¤n2¤-n3¤n-4(n¤)5-n¤6n-¤7n¤-8-n ¤9-¤ n10n ¤-11¤ n-12¤ -n13n- ¤14(¤ n)15(n ¤)

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

  • LastOperationStatus.NO_ERROR

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

format()currencySymbolnegativeSymbollastOperationStatusLastOperationStatus
negativeSymbol Отрицательный символ, используемый при форматировании отрицательных денежных сумм.Stringесли это свойство имеет нулевое значение. TypeErrorTypeErrordependent on the actual locale and operating system Отрицательный символ, используемый при форматировании отрицательных денежных сумм.

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

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

  • LastOperationStatus.NO_ERROR

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

format()negativeCurrencyFormatlastOperationStatusLastOperationStatus
positiveCurrencyFormat Числовое значение, которое обозначает шаблон форматирования для положительных денежных сумм.uintесли присвоенное значение не является числом в диапазоне от 0 до 3. ArgumentErrorArgumentErrordependent on the actual locale and operating system Числовое значение, которое обозначает шаблон форматирования для положительных денежных сумм. Этот формат определяет местоположение символа валюты относительно числовой части денежной суммы.

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

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

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

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

  • LastOperationStatus.NO_ERROR

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

currencySymbolformat()lastOperationStatusLastOperationStatus
requestedLocaleIDName Имя запрашиваемого идентификатора локали, переданного конструктору этого объекта CurrencyFormatter.String Имя запрашиваемого идентификатора локали, переданного конструктору этого объекта CurrencyFormatter.

Если использовано значение LocaleID.DEFAULT, возвращается имя i-default. Локаль, использованная на самом деле, может отличаться от запрашиваемой, когда применяется резервная локаль. Имя фактической локали можно получить с помощью свойства actualLocaleIDName.

LocaleIDactualLocaleIDNameCurrencyFormatter()
trailingZeros Определяет, добавляются ли нули в конце форматируемой денежной суммы.Booleanесли это свойство имеет нулевое значение. TypeErrorTypeErrordependent on the actual locale and operating system Определяет, добавляются ли нули в конце форматируемой денежной суммы.

Когда это свойство имеет значение true, в конце дробной части отформатированного числа добавляются нули, чтобы его длина соответствовала ограничению, определенному в свойстве fractionalDigits. Когда это свойство имеет значение false, нули в конце числа не отображаются.

Например, если форматируется денежная сумма 123,4, это свойство имеет значение true, а свойству fractionalDigits задано значение 3, в конце отформатированной строки будут отображаться нули: $123,400. Если же это свойство имеет значение false, нули в конце строки не добавляются, и после десятичного разделителя отображаются только ненулевые цифры: $123,4.

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

trailingZerosleadingZerofractionalDigits0.120truetrue3$0.120$0.000falsetrue3$0.12$0truefalse3$.120$.000falsefalse3$.12$0

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

  • LastOperationStatus.NO_ERROR

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

leadingZerolastOperationStatusLastOperationStatus
useGrouping Позволяет использовать разделитель группировки при форматировании денежных сумм.Boolean Позволяет использовать разделитель группировки при форматировании денежных сумм.

Когда свойство useGrouping имеет значение true, цифры группируются и разделяются с использованием символа-разделителя группировки. Например, $123,456,789

Когда свойство useGrouping имеет значение false, цифры не группируются и не разделяются. Например, ;123456789

Свойство groupingSeparator определяет символ, который должен использоваться в качестве разделителя группировки. Свойство groupingPattern определяет количество цифр между разделителями группировки.

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

  • LastOperationStatus.NO_ERROR

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

groupingPatterngroupingSeparatorlastOperationStatusLastOperationStatus
Collator Класс Collator предоставляет возможности сравнения строк с учетом локали.Object Класс Collator предоставляет возможности сравнения строк с учетом локали.

Этот класс использует службы сравнения строк, предоставляемые операционной системой. Выполнение сравнения варьируется в зависимости от идентификатора локали, переданного при создании экземпляра класса. ActionScript сохраняет строки с использованием набора символов Юникод. Логические операторы сравнения строк (==, !=, <<=,>,> =) используют для сравнения элементы кода Юникод. В большинстве случаев результирующий порядок сортировки не соответствует правилам для определенного языка и региона и поэтому не должен использоваться для сортировки строк, представленных в пользовательском интерфейсе. Методы сравнения этого класса, напротив, выполняют сортировку с учетом этих правил.

Ниже приводятся примеры, в которых порядок сортировки варьируется в зависимости от языка.

  • В английском языке строчная «а» стоит перед прописной «А», а прописная «А» — перед строчной «b».
  • В шведском языке «ö» стоит после «z», а в немецком «ö» стоит после «o».
  • В традиционном варианте испанского буква «ch» рассматривается как один символ и ставится между «c» и «d».
  • В французском языке символы с акцентом сортируются по последнему, а не по первому акценту, например: cote < côte < coté < côté вместо cote < coté < côte < côté.

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

Методы сравнения в этом классе обеспечивают два основных режима использования. Этими режимами управляет параметр initialMode конструктора Collator(). Используемый по умолчанию режим «сортировка» предназначен для сортировки элементов перед отображением для конечного пользователя. В этом режиме выполняется более строгое сравнение, чтобы одинаковые элементы сортировались согласованно. Например, прописные буквы и строчные буквы не рассматриваются как одинаковые. В режиме «сравнение» выполняется менее строгое сравнение. Например, в этом режиме не проводится различие между строчными и прописными буквами. Ниже приводится пример, демонстрирующий оба режима.

var sortingCollator:Collator = new Collator("en-US", CollatorMode.SORTING); var words:Array = new Array("Airplane" , "airplane", "boat", "Boat"); words.sort(sortingCollator.compare); trace(words); var matchingCollator:Collator = new Collator("en-US", CollatorMode.MATCHING); if (matchingCollator.equals("Car", "car")) { trace("The words match!"); }

Даже когда конструктору передается параметр localID, как показано выше, поведение сравнения может варьироваться для пользователя в зависимости от настроек его операционной системы и использования резервной локали (если запрашиваемая локаль не поддерживается).

Следующий пример демонстрирует результаты сортировки, которые варьируются в зависимости от локали. Выполняются следующие действия.
  1. Перечисляется массив имен идентификаторов локали, включая идентификатор локали операционной системы по умолчанию (указанный в свойстве LocaleID.DEFAULT).
  2. Создается объект Collator для каждого имени идентификатора локали с использованием режима сортировки (по умолчанию).
  3. Отображаются имена запрошенных и фактически используемых идентификаторов локали и значение свойства lastOperationStatus, чтобы можно было проверить, не использована ли резервная локаль.
  4. Массив данных сортируется с использованием каждого объекта Collator, затем отображаются результаты. В результате для каждой локали отображается разный порядок.
package { import flash.globalization.Collator; import flash.globalization.LocaleID; public class CollatorExample1 { public var col:Collator; public function CollatorExample1():void { var localeNames:Array = [LocaleID.DEFAULT, "de-DE", "sv-SE", "fr-FR", "lt-LT", "es-ES"]; var testSortData:Array = [ "y ", "i ", "k ", // Latvian "acxa ", "acha ", "adxa ", // es_traditional "n ", "ö ", "o ", "z ", "vu ", "wo ", // sw "däd ", "daed ", // de "öf ", "of ", // de_dictionary "côte ", "coté " // fr ]; for each (var localeName:String in localeNames) { col = new Collator(localeName); trace("LocaleID requested: " + col.requestedLocaleIDName + "; actual: " + col.actualLocaleIDName); trace("Last Operation Status: " + col.lastOperationStatus ); var result:Array = testSortData.sort(col.compare); trace ("sorted data: " + result); } } } }
Следующий пример демонстрирует использование объекта Collator для управления поведением при сравнении строк. Выполняются следующие действия.
  1. Создается объект Collator для пользовательской локали по умолчанию с использованием режима сравнения.
  2. Свойству Collator.ignoreDiacritics поочередно задается значение false и true
  3. Сравниваются наборы строк, содержащие диакритические знаки и символы верхнего и нижнего регистра.
  4. Демонстрируется, как различаются результаты сравнения при использовании разных значений для свойств Collator.ignoreDiacritics и Collator.ignoreCase.
package { import flash.display.Sprite; import flash.globalization.Collator; import flash.globalization.CollatorMode; import flash.globalization.LocaleID; public class CollatorExample2 extends Sprite { public var col:Collator; public var testMatchData:Array = ["cote", "Cote", "côte", "coté"]; public var wordToMatch:String = "Cote"; public function CollatorExample2() { col = new Collator( LocaleID.DEFAULT, CollatorMode.MATCHING ); trace("LocaleID requested: " + col.requestedLocaleIDName + "; actual: " + col.actualLocaleIDName); trace("Last Operation Status: " + col.lastOperationStatus ); trace('\n' + "ignoreCase = " + col.ignoreCase); trace("ignoreDiacritics = " + col.ignoreDiacritics); compareString(testMatchData, wordToMatch) // All variations of the word cote match col.ignoreDiacritics = false; trace('\n' + "ignoreDiacritics = false"); compareString(testMatchData, wordToMatch) // Variations with different diacritics will not match col.ignoreCase = false; trace('\n' + "ignoreCase = false"); compareString(testMatchData, wordToMatch) // Variations with different case will not match } private function compareString(stringArray:Array, keyword:String):void { for each(var s:String in stringArray) { if(col.equals(s, keyword)) { trace(keyword + " = " + s); } } } } }
Collator Создает новый объект Collator для сравнения строк в соответствии с правилами заданной локали.когда параметр requestedLocaleIDName имеет значение null. TypeErrorTypeErrorкогда параметр requestedLocaleIDName содержит недопустимое значение. ArgumentErrorArgumentErrorrequestedLocaleIDNameStringОбъект String, который будет использоваться данным объектом Collator. initialModeStringsortingСтроковое значение для определения исходного режима сравнения. По умолчанию используется значение CollatorMode.SORTING. Список доступных режимов см. в описании класса CollatorMode. Создает новый объект Collator для сравнения строк в соответствии с правилами заданной локали.

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

Параметр initialMode задает различные параметры сравнения для распространенных случаев применения. Может иметь одно из следующих значений.

  • CollatorMode.SORTING: задает параметры сравнения для обычной лингвистической сортировки, такой как сортировка списка текстовых строк, которые отображаются для конечного пользователя. В этом режиме при сравнении строк проводится различие между строчными и прописными буквами, символами с акцентом и без, а также учитываются другие отличия.
  • CollatorMode.MATCHING: задает параметры сравнения для общего применения, такого как определение эквивалентности двух строк. В этом режиме сравнение выполняется без учета строчных и прописных букв, символов с акцентами и других отличий.

Ниже приводится пример сортированного списка, созданного объектом Collator для локали en-US (английская, США) с использованием режима CollatorMode.SORTING.

AaÄäAEaeÆæBbCcç

Как показано выше, все символы рассматриваются как разные значения, но перечислены в порядке лингвистической сортировки.

Ниже приводится пример сортированного списка, созданного объектом Collator для локали en-US (английская, США) с использованием режима CollatorMode.MATCHING.

A a Ä ä A aAE ae Æ æB b B bC c ç C c

Расшифровка: символы в одной строке рассматриваются как эквивалентные символы в процессе сравнения/сортировки. Например, «a» (U+0040 = LATIN SMALL LETTER A) и «Ä» (U+00C4 = LATIN CAPITAL LETTER A WITH DIAERESIS) рассматриваются как одинаковые буквы.

Как показано выше, некоторые символы находятся в лингвистически правильном порядке и рассматриваются как имеющие одно и то же значение символа.

Для более точного управления порядком сортировки можно изменять значения свойств объекта Collator, таких как Collator.ignoreCase или Collator.ignoreDiacritics.

Для сравнения приводится соответствующий пример сортировки с помощью стандартного метода Array.sort(), который не учитывает локали.

AAEBCaaebcÄÆäæç

Как видно, все символы сортируются просто по числовому значению Юникод. Его нельзя считать корректным с лингвистической точки зрения.

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

Для некоторых локалей предусмотрено несколько вариантов порядка сортировки. Например, в немецком языке для телефонных книг и словарей используются разный порядок сортировки. В китайском языке слова обычно поддерживаются путем транслитерации символов в систему пиньинь. Разные порядки сортировки можно выбирать путем добавления ключевого слова collation в строку, передаваемую в параметре requestedLocaleIDName конструктора.

var germanPhonebook:LocaleID = new LocaleID("de-DE@collation=phonebook"); var chinesePinyin:LocaleID = new LocaleID("zh-Hant@collation=pinyin");

Ниже перечислены возможные значения для строки сопоставления, в скобках перечислены затрагиваемые языки.

Строка сопоставленияОписаниеstandardПорядок сортировки по умолчанию для каждого языка. phonebookПорядок сортировки для телефонной книги (в немецком языке).pinyinПорядок сортировки пиньинь для латинских символов и символов CJK, то есть сортировка для символов CJK основана на посимвольной транслитерации в систему пиньинь (используется в китайском языке).traditional Порядок традиционной сортировки (в испанском языке). stroke Порядок сортировки пиньинь для латинских символов, порядок сортировки штрихов для символов CJK в китайском языке).direct(используется в хинди). big5hanПорядок сортировки пиньинь для латинских символов, сортировка по набору символов big5 для символов CJK. (используется в китайском языке). gb2312han Порядок сортировки пиньинь для латинских символов, сортировка по набору символов big2312han для символов CJK. (используется в китайском языке). unihanПорядок сортировки пиньинь для латинских символов, сортировка по корню и штрихам Unihan для символов CJK. (используется в китайском языке).

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

var collator:Collator = new Collator("fr-FR"); if (collator.lastOperationStatus == LastOperationStatus.USING_FALLBACK_WARNING) { trace ("Using fallback locale: " + collator.actualLocaleIDName); }

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

  • LastOperationStatus.NO_ERROR

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

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

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

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

CollatorModeLastOperationStatusLocaleIDlastOperationStatusrequestedLocaleIDNameactualLocaleIDName
compare Сравнивает две строки и возвращает целое число, указывающее на то, меньше, равна или больше первая строка второй.когда обязательный параметр имеет нулевое значение. TypeErrorTypeErrorкогда параметр содержит недопустимое значение. ArgumentErrorArgumentErrorЦелое число, указывающее на то, меньше, равна или больше первая строка по сравнению со второй.
  • Если возвращается отрицательное значение, string1 меньше чем string2.
  • Если возвращается нуль, значение string1 равно string2.
  • Если возвращается положительное значение, string1 больше чем string2.
int
string1StringПервая строка сравнения. string2StringВторая строка сравнения.
Сравнивает две строки и возвращает целое число, указывающее на то, меньше, равна или больше первая строка второй. При сравнении используются правила сортировки для идентификатора локали, указанного в конструкторе Collator().

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

  • LastOperationStatus.NO_ERROR

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

equals()lastOperationStatusLastOperationStatus
equals Сравнивает две строки и возвращает логическое значение, указывающее на то, равны ли эти строки.когда обязательный параметр имеет нулевое значение. TypeErrorTypeErrorкогда параметр содержит недопустимое значение. ArgumentErrorArgumentErrorЛогическое значение, указывающее на то равны строки (true) или нет (false). Booleanstring1StringПервая строка сравнения. string2StringВторая строка сравнения. Сравнивает две строки и возвращает логическое значение, указывающее на то, равны ли эти строки. При сравнении используются правила сортировки для идентификатора локали, указанного в конструкторе Collator().

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

  • LastOperationStatus.NO_ERROR

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

compare()lastOperationStatusLastOperationStatus
getAvailableLocaleIDNames Перечисляет все имена идентификаторов локалей, поддерживаемые этим классом.Вектор строк, содержащих все имена идентификаторов локалей, поддерживаемые этим классом. Перечисляет все имена идентификаторов локалей, поддерживаемые этим классом.

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

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

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

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

    Например:

    var fmt:Collator = new Collator(LocaleID.DEFAULT); var aliName:String = fmt.actualLocaleIDName;

    В приведенном выше примере именем локали, соответствующей текущим пользовательским настройкам операционной системы (например, it-IT, если пользователь выбрал локаль «итальянская, Италия») является aliName, а не "i-default" (имя локали LocaleID.DEFAULT).

  3. Если система не поддерживает имя requestedLocaleIDName, определенное в конструкторе, то используется резервное имя идентификатора локали.

    Например:

    var fmt:Collator = new Collator("fr-CA"); var aliName:String = fmt.actualLocaleIDName;

    Если предположить, что операционная система в приведенном выше примере не поддерживает идентификатор локали fr_CA (французская, Канада), используется резервный вариант. В этом случае переменная aliName содержит идентификатор резервной локали fr-FR (французская, Франция).

LocaleIDrequestedLocaleIDName
ignoreCase Когда это свойство имеет значение true, идентичные строки и строки, отличающиеся только регистром букв, рассматриваются как равные.Boolean<code>true</code> when the <code>Collator()</code> constructor's <code>initialMode</code> parameter is set to <code>Collator.MATCHING</code>. <code>false</code> when the <code>Collator()</code> constructor's <code>initialMode</code> parameter is set to Collator.SORTING. Когда это свойство имеет значение true, идентичные строки и строки, отличающиеся только регистром букв, рассматриваются как равные. Например, метод compare("ABC", "abc") возвращает значение true, когда свойство ignoreCase имеет значение true.

Преобразование регистра строки выполняется по правилам для указанной локали.

Когда свойство ignoreCase имеет значение false, символы верхнего и нижнего регистра рассматриваются как разные.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatuscompare()equals()LastOperationStatus
ignoreCharacterWidth Когда это свойство имеет значение true, полноширинные и полуширинные формы некоторых китайских и японских символов рассматриваются как одинаковые.Booleanfalse Когда это свойство имеет значение true, полноширинные и полуширинные формы некоторых китайских и японских символов рассматриваются как одинаковые.

Для обеспечения совместимости с существующими стандартами для китайских и японских наборов символов Юникод обеспечивает коды символов для полноширинных и полуширинных форм некоторых символов. Например, когда свойство ignoreCharacterWidth имеет значение true, метод compare("Aア", "Aア") возвращает значение true.

Если свойство ignoreCharacterWidth имеет значение false, то полноширинные и полуширинные формы рассматриваются как разные.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatuscompare()equals()LastOperationStatus
ignoreDiacritics Когда это свойство имеет значение true, строки, в которых используются одинаковые базовые символы, но разные акценты или диакритические знаки, рассматриваются как одинаковые.Booleanfalse Когда это свойство имеет значение true, строки, в которых используются одинаковые базовые символы, но разные акценты или диакритические знаки, рассматриваются как одинаковые. Например, метод compare("coté", "côte") возвращает значение true, когда свойство ignoreDiacritics имеет значение true.

Когда свойство ignoreDiacritics имеет значение false, базовые символы с диакритическими знаками или акцентами будут рассматриваться как разные.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatuscompare()equals()LastOperationStatus
ignoreKanaType Когда это свойство имеет значение true, строки, которые отличаются только типом используемого символа кана, рассматриваются как одинаковые.Booleanfalse Когда это свойство имеет значение true, строки, которые отличаются только типом используемого символа кана, рассматриваются как одинаковые. Например, compare("カナ", "かな") возвращает значение true, когда свойство ignoreKanaType имеет значение true.

Если ignoreKanaType имеет значение false, символы хираганы и катаканы, обозначающие одинаковый слог, рассматриваются как разные.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatuscompare()equals()LastOperationStatus
ignoreSymbols Когда это свойство имеет значение true, при сортировке или сравнении игнорируются символьные знаки, включая пробелы, символы валют, математическим символы и др.Booleanfalse Когда это свойство имеет значение true, при сортировке или сравнении игнорируются символьные знаки, включая пробелы, символы валют, математическим символы и др. Например, строки «OBrian», «O'Brian» и «O Brian» рассматриваются как одинаковые, когда свойство ignoreSymbols имеет значение true.

Если свойство ignoreSymbols имеет значение false, при сравнении строк учитываются символьные знаки.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatuscompare()equals()LastOperationStatus
lastOperationStatus Состояние самой последней операции, выполненной этим объектом Collator.String Состояние самой последней операции, выполненной этим объектом Collator. Свойство lastOperationStatus задается каждый раз при вызове конструктора или метода этого класса или при задании значения для другого свойства. Другие возможные значения см. в описании соответствующего метода. LastOperationStatusnumericComparison Управляет обработкой числовых значений, включенных в строки, в ходе сравнения строк.Booleanfalse Управляет обработкой числовых значений, включенных в строки, в ходе сравнения строк.

Когда свойство numericComparison имеет значение true, метод compare преобразует числа, включенные в строки, в числовые значения для сравнения.

Когда это свойство имеет значение false, в ходе сравнения эти числа рассматриваются как коды символов и сортируются в соответствии с правилами сортировки символов для указанной локали.

Например, когда это свойство имеет значение true для идентификатора локали en-US, строки «version1», «version10» и «version2» сортируются в следующем порядке: version1 < version2 < version10.

Когда это свойство имеет значение false для локали en-US, эти же строки сортируются по-другому: version1 < version10 < version2.

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

  • LastOperationStatus.NO_ERROR

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

lastOperationStatuscompare()equals()LastOperationStatus
requestedLocaleIDName Имя запрашиваемого идентификатора локали, переданного конструктору этого объекта Collator.String Имя запрашиваемого идентификатора локали, переданного конструктору этого объекта Collator.

Если использовано значение LocaleID.DEFAULT, возвращается имя i-default. Локаль, использованная на самом деле, может отличаться от запрашиваемой, когда применяется резервная локаль. Имя фактической локали можно получить с помощью свойства actualLocaleIDName.

LocaleIDactualLocaleIDName