Параметр currencySymbol в AutoNumeric определяет
строковый символ валюты, который отображается рядом с числовым значением
и участвует в форматировании денежного представления данных в
input-полях и HTML-элементах. Этот параметр работает совместно с
правилами позиционирования, пробелами, отрицательными значениями и
режимами отображения, формируя итоговый визуальный формат числа.
currencySymbol представляет собой строку, которая
добавляется к числу без изменения его внутреннего значения. AutoNumeric
хранит «чистое» число отдельно от форматированного представления,
поэтому символ валюты влияет только на отображение.
Типичные значения:
$€£¥₸USD, EUR,
KZTПример инициализации:
new AutoNumeric('#price', {
currencySymbol: '₸'
});
В результате значение 15000 будет отображено как:
₸ 15 000
Отображение символа валюты определяется параметром
currencySymbolPlacement, который задаёт его расположение
относительно числа.
Доступные варианты:
p — префикс (слева)s — суффикс (справа)new AutoNumeric('#price', {
currencySymbol: '$',
currencySymbolPlacement: 'p'
});
Результат:
$ 1,200.50
new AutoNumeric('#price', {
currencySymbol: '€',
currencySymbolPlacement: 's'
});
Результат:
1 200,50 €
Суффиксное размещение часто используется в локализациях, где валютный знак принято ставить после числа.
Поведение пробела регулируется параметром
currencySymbolSpacing.
new AutoNumeric('#price', {
currencySymbol: '€',
currencySymbolPlacement: 'p',
currencySymbolSpacing: true
});
Результат:
€ 1 000
При отключении:
currencySymbolSpacing: false
Результат:
€1 000
Этот параметр влияет только на визуальное разделение, не затрагивая числовую часть.
currencySymbol отображается совместно с форматированием
тысячных разрядов, задаваемым digitGroupSeparator.
new AutoNumeric('#price', {
currencySymbol: '₸',
digitGroupSeparator: ' ',
decimalCharacter: ',',
decimalPlaces: 2
});
Ввод:
1523456.7
Отображение:
₸ 1 523 456,70
Символ валюты всегда располагается вне группировки числа и не участвует в разделении разрядов.
При отрицательных числах символ валюты сохраняет свою позицию, а знак минус управляется отдельно через параметры отрицательного отображения.
new AutoNumeric('#price', {
currencySymbol: '$',
currencySymbolPlacement: 'p'
});
Ввод:
-1200
Отображение:
-$ 1,200
Альтернативный формат (в зависимости от настроек
negativePositiveSignPlacement) может изменять порядок знака
и символа валюты.
AutoNumeric изменяет поведение отображения символа валюты при фокусе на поле ввода, если активированы параметры:
showOnlyNumbersOnFocusselectOnFocuscaretPositionOnFocusПример:
new AutoNumeric('#price', {
currencySymbol: '€',
currencySymbolPlacement: 's',
showOnlyNumbersOnFocus: true
});
При фокусе может отображаться только числовая часть:
1200,50
При потере фокуса:
1 200,50 €
Символ валюты временно скрывается, но не удаляется из модели данных.
currencySymbol часто применяется для локализации
интерфейсов, где требуется динамическое переключение валют.
Пример переключения:
const anElement = new AutoNumeric('#price', {
currencySymbol: 'USD',
currencySymbolPlacement: 'p'
});
// смена валюты
anElement.update({
currencySymbol: 'EUR'
});
Внутреннее значение числа остаётся неизменным, изменяется только отображение.
При отсутствии числа поведение символа валюты зависит от конфигурации:
Пример:
new AutoNumeric('#price', {
currencySymbol: '$',
emptyInputBehavior: 'focus'
});
В состоянии пустого поля символ не выводится до начала ввода.
currencySymbol не участвует в:
Он является исключительно визуальным слоем над числовой моделью AutoNumeric.
При получении значения через API:
anElement.getNumber();
возвращается:
1200.5
без символа валюты.
При:
anElement.getFormatted();
возвращается строка с учётом currencySymbol.
Символ валюты может изменяться без переинициализации экземпляра:
anElement.update({
currencySymbol: '₸',
currencySymbolPlacement: 'p'
});
Изменения применяются мгновенно ко всем текущим отображаемым значениям.
При вводе символ валюты:
Если пользователь пытается ввести символ валюты, он отфильтровывается на этапе обработки input-события.
Во всех случаях currencySymbol служит исключительно
визуальным идентификатором валюты, отделённым от числовой логики
AutoNumeric.