AutoNumeric предоставляет гибкие возможности для настройки формата
чисел, в том числе работу с десятичными разделителями. Десятичный
разделитель — это символ, который используется для отделения целой части
числа от дробной. В разных локалях и стандартах могут использоваться
разные символы: наиболее распространёнными являются точка
(.) и запятая (,).
Для изменения символа десятичного разделителя используется опция
decimalCharacter. Эта опция принимает строку,
представляющую символ, который будет использоваться в качестве
разделителя. Пример конфигурации:
new AutoNumeric('#inputDecimal', {
decimalCharacter: ',',
digitGroupSeparator: '.',
decimalPlaces: 2
});
В данном примере число 1234.56 будет отображаться как
1.234,56. Ключевые моменты настройки:
. или ,.AutoNumeric позволяет использовать предопределённые локали, которые устанавливают как десятичный разделитель, так и разделитель групп разрядов:
new AutoNumeric('#inputLocale', AutoNumeric.getPredefinedOptions().euro);
Для евро-локали применяются следующие значения:
decimalCharacter: ','digitGroupSeparator: '.'decimalPlaces: 2Использование предопределённых локалей упрощает настройку и обеспечивает соответствие стандартам различных стран.
В случае необходимости менять десятичный разделитель на лету,
AutoNumeric предоставляет методы update и
reInit:
const anElement = new AutoNumeric('#inputDynamic', { decimalCharacter: '.' });
anElement.update({ decimalCharacter: ',' });
После вызова update значение в поле будет автоматически
переработано с новым разделителем без потери данных.
AutoNumeric корректно обрабатывает ввод пользователем и автоматически
конвертирует символы разделителей в числовое значение. При этом возможна
строгая проверка через getNumber:
const value = anElement.getNumber(); // возвращает число с плавающей запятой
При использовании getNumber десятичный разделитель
интерпретируется правильно, независимо от отображаемого символа. Это
особенно важно для сохранения данных в базе или передачи на сервер.
При вводе числа AutoNumeric учитывает локализованный десятичный разделитель и автоматически предотвращает конфликты с символами группировки:
1.234,56 корректно распознается как
1234.56 при decimalCharacter: ',' и
digitGroupSeparator: '.'.allowDecimalPadding для
контроля автоматического добавления нулей после разделителя.getNumericString, getLocalized и
set.AutoNumeric поддерживает гибкое комбинирование десятичного разделителя с валютными и процентными форматами:
new AutoNumeric('#inputCurrency', {
currencySymbol: '€',
decimalCharacter: ',',
digitGroupSeparator: '.',
decimalPlaces: 2,
currencySymbolPlacement: 'p'
});
Результат: 1.234,56 €. AutoNumeric автоматически
управляет положением символа, разделителями и округлением, обеспечивая
корректное отображение чисел в финансовых приложениях.
.) и переводить разделители
только при отображении на клиенте.update и reInit
позволяет адаптировать поля под разные форматы без пересоздания
элементов.Десятичный разделитель в AutoNumeric — ключевой элемент управления форматированием чисел, обеспечивающий корректное восприятие данных пользователями и точное преобразование числовых значений для вычислений и хранения.