Параметр allowDecimalPadding управляет тем, как
библиотека AutoNumeric обрабатывает дробную часть числа при
форматировании и отображении значения. Речь идёт о контроле добавления
или удаления завершающих нулей после десятичного разделителя, что
напрямую влияет на визуальное представление данных и согласованность
отображения числовых значений в интерфейсе.
Форматирование чисел в AutoNumeric строится вокруг нормализации значения к заданным правилам отображения:
decimalPlaces)decimalCharacter)roundingMethod)allowDecimalPadding)Без дополнительного контроля дробная часть может либо обрезаться до
минимально необходимой, либо приводиться к фиксированной длине. Именно
allowDecimalPadding определяет, должна ли дробная часть
дополняться нулями до заданной длины.
Параметр поддерживает несколько режимов, каждый из которых задаёт различную стратегию форматирования.
При значении true дробная часть всегда приводится к
длине, заданной через decimalPlaces.
Поведение:
roundingMethodПример конфигурации:
new AutoNumeric(element, {
decimalPlaces: 2,
allowDecimalPadding: true
});
Примеры преобразования:
| Входное значение | Отображение |
|---|---|
| 12 | 12.00 |
| 12.5 | 12.50 |
| 12.567 | 12.57 |
Данный режим часто используется в финансовых интерфейсах, где требуется единообразная точность.
При значении false дробная часть отображается только в
том объёме, который фактически необходим для представления числа.
Поведение:
decimalPlaces влияет только на ограничение точности, но
не на визуальное выравниваниеПример конфигурации:
new AutoNumeric(element, {
decimalPlaces: 4,
allowDecimalPadding: false
});
Примеры преобразования:
| Входное значение | Отображение |
|---|---|
| 12 | 12 |
| 12.5 | 12.5 |
| 12.5000 | 12.5 |
Такой режим характерен для научных, аналитических и пользовательских интерфейсов, где важна компактность записи.
Режим "floats" представляет промежуточную стратегию
между строгим фиксированием и полной свободой отображения.
Особенности:
Пример конфигурации:
new AutoNumeric(element, {
decimalPlaces: 3,
allowDecimalPadding: "floats"
});
Типичные результаты:
| Входное значение | Отображение |
|---|---|
| 12 | 12 |
| 12.5 | 12.5 |
| 12.500 | 12.5 |
| 12.340 | 12.34 |
Такой режим применяется, когда требуется баланс между читаемостью и сохранением минимальной точности представления.
Параметр decimalPlaces задаёт максимальную или
фиксированную точность дробной части, но его поведение напрямую зависит
от allowDecimalPadding.
decimalPlaces становится жёстким форматом
отображенияdecimalPlaces ограничивает точность, но не навязывает
формат выводаdecimalPlaces используется как верхний предел
точностиПри работе с полями ввода AutoNumeric применяет форматирование
динамически, и allowDecimalPadding влияет не только на
отображение, но и на реакцию на ввод:
"floats" минимизирует визуальные изменения во
время вводаОсобенно заметна разница при вводе значений без дробной части:
true → мгновенное преобразование в формат с нулямиfalse → сохранение исходного вида"floats" → гибкая нормализация только при
необходимостиAutoNumeric предоставляет API-методы, такие как set(),
getNumericString(), getFormatted(). Поведение
allowDecimalPadding отражается в результатах
getFormatted():
getFormatted() возвращает строку с учётом
padding-правилgetNumericString() игнорирует визуальное форматирование
и возвращает числовое значениеТаким образом:
allowDecimalPadding влияет исключительно на
представлениеПри совместном использовании с roundingMethod возникает
важная связка:
decimalPlacesallowDecimalPaddingПример:
new AutoNumeric(element, {
decimalPlaces: 2,
roundingMethod: "halfUp",
allowDecimalPadding: true
});
Результаты:
| Вход | Округление | Итог |
|---|---|---|
| 1.234 | 1.23 | 1.23 |
| 1 | — | 1.00 |
При отключённом padding тот же результат выглядел бы как
1.
AutoNumeric позволяет динамически обновлять параметры через методы
обновления опций. Изменение allowDecimalPadding приводит к
мгновенному перерасчёту отображения текущего значения.
Пример сценария:
autoNumericInstance.update({
allowDecimalPadding: false
});
Последствия:
Различные режимы allowDecimalPadding используются в
зависимости от требований интерфейса:
true)false)"floats"Разница между режимами становится особенно заметной при массовом отображении чисел:
Форматирование через allowDecimalPadding становится
инструментом не только технической настройки, но и управления визуальной
структурой числовых интерфейсов.