Параметр currencySymbolPlacement определяет позицию
отображения валютного символа относительно числового значения при
форматировании полей ввода в AutoNumeric. Он напрямую влияет на
визуальное представление финансовых данных и участвует в формировании
итоговой строки вместе с разделителями тысяч, десятичным разделителем,
знаком отрицательного числа и прочими настройками форматирования.
currencySymbolPlacement управляет тем, будет ли символ
валюты расположен слева или справа от числа. В зависимости от
конфигурации AutoNumeric может использовать следующие значения:
p или prefix — валютный символ
располагается перед числомs или suffix — валютный символ
располагается после числаФактически параметр задаёт правило композиции строки форматирования, не изменяя само числовое значение, а только влияя на его отображение в input-элементе.
Формирование отображаемого значения происходит на этапе рендеринга числа после применения всех преобразований:
decimalPlacesdigitGroupSeparatorcurrencySymbolPlacementПорядок вставки валютного символа критически важен, поскольку он влияет на восприятие значения пользователем и может отличаться в зависимости от локальных стандартов форматирования.
При использовании значения prefix или p
валютный символ располагается перед числом:
$ 1,234.56
В этом режиме символ валюты становится частью начала строки. Это наиболее распространённый формат в странах с использованием доллара, евро (в англоязычных интерфейсах), а также ряда других валютных систем.
Особенности префиксного режима:
currencySymbolSpacing)- $1,234.56Важный нюанс заключается в том, что знак отрицательности обрабатывается отдельно от валютного символа, и их порядок зависит от дополнительных настроек форматирования.
При значении suffix или s валютный символ
отображается после числа:
1,234.56 €
Данный формат широко используется в европейских странах и ряде локализаций, где символ валюты традиционно следует за числовым значением.
Особенности суффиксного режима:
-1,234.56 €Суффиксное размещение особенно важно в интерфейсах, ориентированных на международные стандарты, так как оно снижает неоднозначность восприятия валюты и числа.
При использовании currencySymbolPlacement необходимо
учитывать поведение отрицательных значений. AutoNumeric не связывает
знак минуса с валютным символом, а рассматривает его как отдельный
элемент форматирования.
Типовые варианты отображения:
Префикс:
- $1,000.00$ -1,000.00 (в некоторых конфигурациях)Суффикс:
-1,000.00 €1,000.00 - € (редко, при специфических настройках)Конкретный порядок зависит от сочетания параметров, включая
negativeSignCharacter и настройки локализации.
currencySymbolPlacement является одним из ключевых
параметров, определяющих локализационную корректность интерфейса ввода
денежных значений. Неправильное размещение символа может приводить к
неоднозначному восприятию данных, особенно в международных
приложениях.
Основные сценарии применения:
При проектировании интерфейсов важно учитывать, что разные регионы имеют устоявшиеся нормы отображения валюты, и жестко фиксированное значение может ухудшать читаемость данных.
currencySymbolPlacement не работает изолированно и тесно
связан с рядом других параметров:
currencySymbol — определяет сам символ валютыcurrencySymbolSpacing — задаёт наличие пробела между
символом и числомdecimalCharacter — влияет на разделение дробной
частиdigitGroupSeparator — управляет группировкой
разрядовnegativeSignCharacter — задаёт символ отрицательного
значенияКомбинация этих параметров формирует итоговый формат строки, и
изменение одного из них может визуально изменить расположение валютного
символа даже при неизменном currencySymbolPlacement.
Примеры распространённых настроек:
Префиксный долларовый формат:
{
currencySymbol: "$",
currencySymbolPlacement: "p",
digitGroupSeparator: ",",
decimalCharacter: "."
}
Суффиксный евроформат:
{
currencySymbol: "€",
currencySymbolPlacement: "s",
digitGroupSeparator: " ",
decimalCharacter: ","
}
Такие конфигурации часто используются как базовые шаблоны для локализационных профилей.
AutoNumeric поддерживает изменение параметров в рантайме. При
изменении currencySymbolPlacement происходит мгновенный
пересчёт отображаемого значения без изменения внутреннего числового
состояния.
Это означает:
Данный механизм позволяет переключать валютные форматы без пересоздания экземпляра AutoNumeric.
При использовании currencySymbolPlacement необходимо
учитывать несколько архитектурных особенностей:
Также важно учитывать, что AutoNumeric строго разделяет логическое значение числа и его визуальное представление, поэтому любые изменения размещения валютного символа не влияют на вычисления или сериализацию данных.