Одной из ключевых возможностей библиотеки AutoNumeric является гибкая настройка количества десятичных знаков, отображаемых в числовых полях. Понимание и правильная конфигурация этого параметра обеспечивает корректное форматирование чисел, удобство ввода и точность вычислений.
decimalPlacesПараметр decimalPlaces определяет точное количество цифр
после десятичного разделителя. Его значение может быть целым числом,
обозначающим фиксированное количество знаков:
new AutoNumeric('#input1', 1234.5678, {
decimalPlaces: 2
});
В этом примере число 1234.5678 будет отображено как
1,234.57. AutoNumeric автоматически округляет исходное
значение до указанного количества десятичных знаков.
Особенности работы:
decimalPlaces, библиотека добавит нули до необходимого
количества.decimalPlaces не указан, используется значение по
умолчанию, равное 2.AutoNumeric позволяет менять количество десятичных знаков после инициализации поля. Для этого используются методы экземпляра:
const anElement = new AutoNumeric('#input2', 1000.5, { decimalPlaces: 2 });
// Изменение количества десятичных знаков на лету
anElement.update({ decimalPlaces: 4 });
// Текущее значение: 1000.5000
Метод update принимает объект с параметрами
конфигурации, позволяя гибко изменять отображение чисел без повторной
инициализации элемента.
Для более сложных сценариев можно использовать
decimalPlacesShownOnFocus и
decimalPlacesShownOnBlur, которые позволяют отображать
разные количества знаков в зависимости от состояния поля:
new AutoNumeric('#input3', 123.4, {
decimalPlaces: 2,
decimalPlacesShownOnFocus: 4
});
decimalPlaces – количество знаков при
потере фокуса.decimalPlacesShownOnFocus – количество
знаков при активном поле ввода. В приведенном примере значение
123.4 будет отображено как 123.4000 при фокусе
и 123.40 при потере фокуса.AutoNumeric поддерживает разные стратегии округления, которые
напрямую влияют на отображение десятичных знаков. Параметр
roundingMethod может принимать значения:
'S' – стандартное округление (по математическим
правилам),'A' – округление в большую сторону (always up),'B' – округление в меньшую сторону (always down),'C' – банковское округление (bankers rounding).Пример использования:
new AutoNumeric('#input4', 2.555, {
decimalPlaces: 2,
roundingMethod: 'B'
});
// Результат: 2.55
Выбор метода округления критичен для финансовых приложений, где точность и согласованность вычислений имеют первостепенное значение.
При настройке десятичных знаков важно учитывать совместимость с
другими параметрами форматирования, такими как
digitGroupSeparator и decimalCharacter.
Например:
new AutoNumeric('#input5', 12345.678, {
decimalPlaces: 3,
decimalCharacter: ',',
digitGroupSeparator: '.'
});
// Отображается как: 12.345,678
decimalCharacter определяет символ для
десятичного разделителя.digitGroupSeparator задает разделитель
тысяч. AutoNumeric корректно округляет и добавляет нули независимо от
выбранных символов разделителей.Для получения значения с учётом текущей конфигурации используют
методы getNumericString и getNumber:
const an = new AutoNumeric('#input6', 45.6, { decimalPlaces: 3 });
an.getNumericString(); // "45.600"
an.getNumber(); // 45.6
getNumericString возвращает строку с точным количеством
десятичных знаков, включая дополнительные нули, а getNumber
возвращает числовое значение, пригодное для вычислений.
decimalPlacesShownOnFocus.Количество десятичных знаков является фундаментальным параметром AutoNumeric, обеспечивая единообразие отображения, точность округления и гибкость при работе с числовыми данными.