Американский формат чисел (US number format) базируется на двух ключевых правилах представления числовых значений: использование запятой в качестве разделителя тысяч и точки в качестве десятичного разделителя. Такая система отличается от европейской, где роли этих символов обычно противоположны.
В американской нотации число 1234567.89 записывается как:
1,234,567.89
Ключевые элементы:
,.AutoNumeric строго придерживается этой логики при соответствующей конфигурации, обеспечивая корректное отображение и ввод чисел в input-полях.
В контексте финансов американский формат почти всегда связан с
валютой USD. Визуальное представление включает символ $,
который может размещаться слева от числа:
$1,000.00$12,345,678.90Особенности отображения:
-$1,250.00AutoNumeric предоставляет набор параметров, позволяющих полностью воспроизвести американскую нотацию.
Ключевые настройки:
digitGroupSeparator: ','decimalCharacter: '.'currencySymbol: '$'currencySymbolPlacement: 'p' (prefix)decimalPlaces: 2Пример базовой конфигурации:
AutoNumeric.init('.usd-input', {
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2,
currencySymbol: '$',
currencySymbolPlacement: 'p'
});
Такая конфигурация обеспечивает поведение, полностью совпадающее с US formatting rules.
AutoNumeric разделяет внутреннее значение и отображаемое представление.
Пример:
Пользователь вводит:
1234567.89
Отображается:
$1,234,567.89
При этом внутреннее значение (unformatted) остаётся числовым:
1234567.89
Это важно для интеграции с API, вычислениями и отправкой данных на сервер.
В американском формате критически важно строгое различие символов:
, — только для группировки тысяч. — только для дробной частиAutoNumeric автоматически предотвращает ввод некорректных комбинаций, таких как:
123.45.671.234.567,89 (европейский
формат)AutoNumeric поддерживает несколько моделей отображения отрицательных чисел в американском формате.
-$1,200.00
$1,200.00-
Настройка:
AutoNumeric.init('.usd-input', {
digitGroupSeparator: ',',
decimalCharacter: '.',
currencySymbol: '$',
currencySymbolPlacement: 'p',
negativeSignCharacter: '-'
});
Для бухгалтерского формата дополнительно используется параметр отрицательного позиционирования.
В американских финансовых системах чаще всего фиксируется 2 знака после точки.
AutoNumeric позволяет:
Пример:
AutoNumeric.init('.usd-input', {
decimalPlaces: 2,
decimalPlacesShownOnFocus: 4,
roundingMethod: 'S'
});
Такой подход полезен при вводе финансовых данных, где требуется повышенная точность на этапе редактирования.
AutoNumeric применяет форматирование непосредственно во время ввода:
Пример поведения:
| Ввод | Отображение |
|---|---|
| 1 | 1 |
| 12 | 12 |
| 1234 | 1,234 |
| 1234567 | 1,234,567 |
Для получения числового значения используется метод
getNumber():
const anElement = AutoNumeric.getAutoNumericElement('.usd-input');
const value = anElement.getNumber();
Результат:
1234567.89
Без символа валюты и без разделителей.
AutoNumeric позволяет устанавливать значение с автоматическим форматированием:
anElement.set(9876543.21);
Отображение:
$9,876,543.21
Для крупных приложений удобно задавать глобальные настройки:
AutoNumeric.setGlobal({
digitGroupSeparator: ',',
decimalCharacter: '.',
decimalPlaces: 2,
currencySymbol: '$',
currencySymbolPlacement: 'p'
});
Все новые экземпляры наследуют данные параметры, если не переопределены локально.
При использовании нескольких полей в американском формате важно учитывать:
null или
0Пример сбора данных:
const inputs = document.querySelectorAll('.usd-input');
const data = Array.from(inputs).map(el => {
const an = AutoNumeric.getAutoNumericElement(el);
return an.getNumber();
});
Часто встречающиеся проблемы:
. как разделителя тысяч вместо
,AutoNumeric требует, чтобы форматирование выполнялось исключительно библиотекой, без внешнего вмешательства в строковое представление.
При вставке данных из буфера обмена библиотека:
Пример:
Вставка:
"1.234.567,89"
Результат в US формате:
$1,234,567.89
(при условии корректной конфигурации обработки разделителей)
AutoNumeric всегда отделяет UI-формат от данных:
$1,234.561234.56Это критично для:
AutoNumeric блокирует:
При этом не ломает ввод, а корректирует его в реальном времени, сохраняя UX стабильным.
Вся система строится вокруг трёх принципов:
Эта модель обеспечивает стабильное поведение числовых полей в финансовых и аналитических интерфейсах, где требуется единообразное представление данных в формате US standard.