Библиотека AutoNumeric ориентирована на унификацию и стандартизацию отображения числовых значений с учётом локальных денежных форматов. При работе с различными валютами ключевым становится не только отображение символа валюты, но и корректная настройка разрядности, разделителей, положения символа и допустимых диапазонов значений.
Каждая валюта характеризуется набором параметров:
AutoNumeric предоставляет набор конфигурационных опций, позволяющих точно воспроизвести поведение практически любой валюты мира без необходимости ручной обработки строк.
Ключевые настройки, используемые при описании валютного формата:
"p" — префикс, "s" — суффикс);Комбинация этих параметров позволяет формировать поведение, соответствующее финансовым стандартам разных стран.
Формат британского фунта отличается использованием символа
£, расположенного перед числом, и стандартной двухзначной
дробной частью.
AutoNumeric.multiple('.gbp', {
currencySymbol: '£',
currencySymbolPlacement: 'p',
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2,
roundingMethod: 'S'
});
Особенность формата заключается в строгом фиксировании двух знаков после запятой, что соответствует банковскому стандарту Великобритании.
Швейцарский франк характеризуется отсутствием строгого разделения тысяч в некоторых локализациях, однако в цифровых интерфейсах чаще используется европейский стиль.
AutoNumeric.multiple('.chf', {
currencySymbol: 'CHF',
currencySymbolPlacement: 'p',
digitGroupSeparator: "'",
decimalCharacter: '.',
decimalPlaces: 2
});
Применение апострофа в качестве разделителя разрядов отражает традиционный формат Швейцарии.
Канадский доллар использует долларовый символ с обязательной локализацией через запятую или точку в зависимости от региона (английская и французская Канада).
AutoNumeric.multiple('.cad', {
currencySymbol: 'CA$',
currencySymbolPlacement: 'p',
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2
});
Отдельный префикс CA$ используется для исключения
путаницы с USD.
Австралийская валюта следует стандартному доллар-формату, но с региональной спецификацией символа.
AutoNumeric.multiple('.aud', {
currencySymbol: 'A$',
currencySymbolPlacement: 'p',
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2
});
Использование префикса A$ критично для корректной
идентификации валюты в международных интерфейсах.
Китайский юань в цифровых системах часто отображается символом
¥, однако в международной среде используется код
CNY для устранения неоднозначности с японской иеной.
AutoNumeric.multiple('.cny', {
currencySymbol: '¥',
currencySymbolPlacement: 'p',
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2
});
В финансовых приложениях Китая часто применяется фиксированная двухзнаковая дробная часть, несмотря на редкое использование дробей в наличных расчётах.
Индийская рупия отличается уникальной системой группировки разрядов, отличной от международной.
AutoNumeric.multiple('.inr', {
currencySymbol: '₹',
currencySymbolPlacement: 'p',
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2
});
Особенность заключается не в символе, а в системе группировки: первые три цифры отделяются от правой части, далее разряды идут по две цифры.
Для имитации индийского формата требуется кастомная логика группировки, поскольку стандартная конфигурация AutoNumeric ориентирована на западный стиль.
Бразильский реал использует запятую в качестве десятичного разделителя и точку для группировки тысяч.
AutoNumeric.multiple('.brl', {
currencySymbol: 'R$',
currencySymbolPlacement: 'p',
digitGroupSeparator: '.',
decimalCharacter: ',',
decimalPlaces: 2
});
Такой формат является зеркальным по отношению к англоязычному стандарту, что важно учитывать при обработке пользовательского ввода.
Турецкая лира отличается частым использованием локализованных форматов в финансовых интерфейсах, где символ может располагаться как слева, так и справа.
AutoNumeric.multiple('.try', {
currencySymbol: '₺',
currencySymbolPlacement: 'p',
digitGroupSeparator: '.',
decimalCharacter: ',',
decimalPlaces: 2
});
Использование запятой в качестве десятичного разделителя соответствует европейской традиции, принятой в Турции.
Рэнд используется с классическим доллароподобным форматом, но без обязательного префикса валютного кода.
AutoNumeric.multiple('.zar', {
currencySymbol: 'R',
currencySymbolPlacement: 'p',
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2
});
Формат максимально близок к долларовым системам, что упрощает интеграцию в международные платформы.
Вона отличается отсутствием дробной части в большинстве пользовательских сценариев.
AutoNumeric.multiple('.krw', {
currencySymbol: '₩',
currencySymbolPlacement: 'p',
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 0
});
Ключевая особенность — округление до целых значений, что отражает практику внутреннего ценообразования.
Мексиканская валюта использует долларовый символ, но требует обязательного уточнения региона.
AutoNumeric.multiple('.mxn', {
currencySymbol: 'MX$',
currencySymbolPlacement: 'p',
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2
});
Региональный префикс предотвращает конфликт с USD в международных системах.
В реальных приложениях часто требуется комбинирование нескольких валютных правил, особенно в финансовых панелях, мультивалютных кошельках и системах расчётов.
Пример универсальной конфигурации:
const baseCurrencyConfig = {
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2,
roundingMethod: 'S',
allowDecimalPadding: true
};
Далее параметры расширяются под конкретную валюту:
AutoNumeric.multiple('.eur', {
...baseCurrencyConfig,
currencySymbol: '€',
currencySymbolPlacement: 's'
});
AutoNumeric.multiple('.usd', {
...baseCurrencyConfig,
currencySymbol: '$',
currencySymbolPlacement: 'p'
});
Такой подход позволяет централизовать логику форматирования и снизить количество дублируемого кода.
AutoNumeric предоставляет набор предопределённых конфигураций, упрощающих настройку стандартных валютных форматов.
Использование предустановок:
const anElement = new AutoNumeric('#input', AutoNumeric.getPredefinedOptions().euro);
Или расширение:
const customEuro = {
...AutoNumeric.getPredefinedOptions().euro,
currencySymbolPlacement: 's'
};
Предустановленные профили обеспечивают согласованность форматов в рамках различных проектов.
Для валютных операций критично корректное поведение при округлении:
AutoNumeric.multiple('.finance', {
decimalPlaces: 2,
roundingMethod: 'S'
});
При работе с валютами, имеющими нулевую дробную часть, точность явно фиксируется:
AutoNumeric.multiple('.integer-currency', {
decimalPlaces: 0,
roundingMethod: 'S'
});
Валютные поля требуют строгой фильтрации вводимых символов. AutoNumeric автоматически:
Пример инициализации с ограничениями:
AutoNumeric.multiple('.secure-currency', {
minimumValue: '0',
maximumValue: '1000000000',
decimalPlaces: 2
});
Такая конфигурация особенно полезна в финансовых интерфейсах с лимитами транзакций.
В сложных системах, где одновременно используются десятки валют, применяется единая стратегия:
Это позволяет поддерживать консистентность отображения данных независимо от региона и валюты, снижая вероятность ошибок интерпретации финансовых значений.