Механизм группировки разрядов в AutoNumeric отвечает за визуальное форматирование чисел с разделением тысяч, миллионов и более крупных порядков. Основная задача этого функционала — повысить читаемость числовых значений без изменения их фактической числовой природы. Внутреннее значение остаётся строго числовым, тогда как отображаемая строка модифицируется в соответствии с правилами локализации и конфигурации.
AutoNumeric применяет разделение разрядов к целой части числа, разбивая её на группы фиксированной длины. Наиболее распространённый вариант — группировка по три цифры, начиная справа:
1000 → 1,000
1000000 → 1,000,000
123456789 → 123,456,789
При этом библиотека отделяет отображение от внутреннего представления: пользователь видит форматированную строку, но API продолжает работать с числом без разделителей.
Ключевые настройки, влияющие на группировку разрядов:
digitGroupSeparator Определяет символ-разделитель между группами цифр.
Примеры значений:
, — англоязычный стандарт. — европейский стиль' ' — пробел'' — отключение группировкиnew AutoNumeric('#input', {
digitGroupSeparator: ','
});
digitalGroupSpacing Контролирует длину группировки.
Наиболее часто используется значение 3, соответствующее
классической триаде (тысячи, миллионы, миллиарды).
Допустимые режимы:
3 — стандартная группировка по три цифрыnew AutoNumeric('#input', {
digitGroupSeparator: ' ',
digitalGroupSpacing: 3
});
overrideMinMaxLimits и косвенное влияние на форматирование Хотя параметр напрямую не управляет группировкой, при работе с ограничениями значений важно учитывать, что визуальное форматирование применяется уже после проверки диапазонов.
AutoNumeric поддерживает преднастроенные локали, где группировка разрядов является частью комплексного числового формата.
Примеры различий:
1,234,567.891.234.567,8912,34,567.89Индийская система группировки отличается нелинейной структурой: первая группа состоит из трёх цифр, далее идут группы по две цифры.
new AutoNumeric('#input', {
digitGroupSeparator: ',',
decimalCharacter: '.',
digitalGroupSpacing: '2s'
});
Здесь '2s' задаёт специальную схему индийского
формата.
В ряде сценариев требуется полностью убрать разделители разрядов. Это используется в технических полях, идентификаторах или при интеграции с внешними API, чувствительными к формату строки.
new AutoNumeric('#input', {
digitGroupSeparator: '',
});
При отключении группировки число отображается как непрерывная последовательность символов без визуального разделения:
1000000 → 1000000
Группировка применяется динамически во время ввода. Это означает, что после каждого изменения значения AutoNumeric пересчитывает позицию разделителей, сохраняя курсор в корректной позиции.
Особенности поведения:
AutoNumeric всегда оперирует «чистым» числовым значением. Группировка разрядов не влияет на вычисления, так как:
Number или строка без
форматированияgetNumericString, getNumber)
возвращает неформатированные данныеconst an = new AutoNumeric('#input', {
digitGroupSeparator: ','
});
an.set(1000000);
console.log(an.getNumber()); // 1000000
console.log(an.getNumericString()); // "1000000"
Группировка разрядов работает совместно с настройками десятичной части:
new AutoNumeric('#input', {
digitGroupSeparator: ' ',
decimalCharacter: ',',
decimalPlaces: 2
});
Результат:
1234567.89 → 1 234 567,89
Разделение логически разбивается на две независимые зоны:
Дополнительные параметры позволяют тонко настраивать внешний вид чисел:
Пример конфигурации, где группировка сочетается с адаптивным отображением:
new AutoNumeric('#input', {
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2,
emptyInputBehavior: 'zero'
});
При работе с большими массивами данных форматирование разрядов становится заметной операцией, так как включает:
AutoNumeric оптимизирует процесс за счёт: