В библиотеке AutoNumeric статический метод format
предназначен для преобразования числовых значений или строковых
представлений чисел в форматированный вид без привязки к DOM-элементу. В
отличие от инстанс-методов, он не требует инициализации экземпляра и не
модифицирует input-поля, а возвращает уже отформатированную строку.
AutoNumeric.format(value, options, forceOutput);
Параметры:
value — число, строка или значение, которое необходимо
отформатироватьoptions — объект конфигурации или ключ
предустановкиforceOutput — логический флаг, влияющий на поведение
обработки некорректных значенийСтатический format применяется в случаях, когда
требуется:
Ключевое отличие — отсутствие состояния. Метод не хранит контекст форматирования, а работает исключительно на входных данных.
const formatted = AutoNumeric.format(1234567.89, {
digitGroupSeparator: ' ',
decimalCharacter: ',',
decimalPlaces: 2
});
console.log(formatted); // "1 234 567,89"
Метод возвращает строку, полностью готовую к отображению.
Метод способен обрабатывать не только числа, но и строковые значения:
AutoNumeric.format("1000000.5", {
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 1
});
Результат:
1,000,000.5
Внутри происходит нормализация входного значения перед применением правил форматирования.
AutoNumeric.format(-9876543.21, {
digitGroupSeparator: ' ',
decimalCharacter: '.',
negativeSignCharacter: '-'
});
Результат:
-9 876 543.21
Метод сохраняет знак числа и применяет форматирование только к абсолютной части.
Если передано значение, которое невозможно интерпретировать как
число, поведение зависит от параметра forceOutput:
AutoNumeric.format("abc", {}, true);
forceOutput = true возвращается строка, приведённая
к безопасному виду (обычно пустая или нулевая форма)forceOutput = false может быть возвращено исходное
значение или выброшена ошибка (в зависимости от конфигурации)Это позволяет управлять строгой или мягкой обработкой данных.
Вместо полного объекта настроек можно использовать предустановки:
AutoNumeric.format(2500, "euro");
Пресет определяет:
Такая форма полезна для унификации отображения финансовых данных.
AutoNumeric.format(1999.99, {
currencySymbol: '$',
currencySymbolPlacement: 'p',
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2
});
Результат:
$1,999.99
Поддерживаются как префиксное, так и постфиксное размещение символа валюты.
AutoNumeric.format(12.34567, {
decimalPlaces: 2
});
Результат:
12.35
Округление выполняется согласно стандартным математическим правилам библиотеки.
AutoNumeric.format(1000000, {
digitGroupSeparator: '',
decimalCharacter: '.'
});
Результат:
1000000
Это полезно для машинного вывода или интеграций с системами, где разделители недопустимы.
AutoNumeric.format(0, {
showOnlyNumbersOnFocus: false,
decimalPlaces: 2
});
Результат:
0.00
Ноль обрабатывается как полноценное число и форматируется согласно правилам округления и отображения.
AutoNumeric.format(9876543210123, {
digitGroupSeparator: ' ',
decimalCharacter: '.'
});
Результат:
9 876 543 210 123
Метод не ограничивает разрядность числа и корректно работает с большими значениями, пока они укладываются в допустимый диапазон JavaScript Number.
AutoNumeric.format(0.0000123, {
decimalPlaces: 6
});
Результат:
0.000012
При этом избыточные знаки после заданной точности отбрасываются.
AutoNumeric.format(" 1 234 567.89 ", {
digitGroupSeparator: ',',
decimalCharacter: '.'
});
Результат:
1,234,567.89
Входная строка предварительно очищается от лишних символов пробелов.
AutoNumeric.format(1234567.89, {
digitGroupSeparator: '.',
decimalCharacter: ','
});
Результат:
1.234.567,89
Метод позволяет имитировать локализованное представление чисел без использования встроенных Intl-форматтеров.
Статический формат часто применяется в слоях бизнес-логики:
function formatReportValue(value) {
return AutoNumeric.format(value, {
digitGroupSeparator: ' ',
decimalCharacter: '.',
decimalPlaces: 2
});
}
Такой подход обеспечивает единообразие отображения чисел во всей системе.