Метод get для чтения значения

Метод get библиотеки AutoNumeric предназначен для извлечения текущего значения из поля ввода, обработанного данной библиотекой. Он является ключевым инструментом для работы с числовыми данными в интерфейсе, так как позволяет получить значение в виде, удобном для дальнейших вычислений или сохранения.

Синтаксис и основные особенности

const value = autoNumericInstance.get([rawValue]);
  • autoNumericInstance — объект AutoNumeric, созданный для конкретного поля ввода.
  • rawValue (опционально, boolean) — если передать true, метод вернёт числовое значение без форматирования, пригодное для математических операций. Если false или не передавать аргумент, будет возвращена строка с учётом форматирования (разделители тысяч, символ валюты и т.д.).

Примеры:

// Инициализация AutoNumeric
const anElement = new AutoNumeric('#price', { currencySymbol: '$', decimalPlaces: 2 });

// Чтение значения как строки с форматированием
const formattedValue = anElement.get(); // "$1,234.56"

// Чтение "сырого" числового значения
const numericValue = anElement.get(true); // 1234.56

Отличие между форматированным и необработанным значением

Метод get возвращает два типа данных в зависимости от аргумента:

  1. Форматированная строка — удобна для отображения или сохранения в виде текста.
  2. Число (если передан true) — идеально для вычислений и математических операций.

Важно понимать, что использование необработанного значения исключает влияние настроек форматирования на дальнейшие расчёты.

Интеграция с событиями

Метод get часто используется совместно с событиями DOM, чтобы динамически получать значение при изменении поля. Наиболее распространённое сочетание:

anElement.inputElement.addEventListener('change', function() {
    const currentValue = anElement.get(true);
    console.log('Текущее значение для расчётов:', currentValue);
});

Также допустимо использование метода внутри функции обработки кнопок или отправки формы:

document.querySelector('#submit').addEventListener('click', () => {
    const valueToSend = anElement.get(true);
    sendDataToServer(valueToSend);
});

Работа с различными режимами AutoNumeric

Метод get одинаково корректно работает с любыми режимами:

  • Целые числа: возвращает целое число без округлений при использовании true.
  • Проценты: возвращает значение как десятичную дробь, пригодную для вычислений.
  • Валюты: возвращает чистое числовое значение без символа валюты, если используется true.

Примеры комбинирования с методами set и update

Метод get часто используется совместно с set для циклических вычислений:

// Получение текущего значения
const currentValue = anElement.get(true);

// Изменение значения и обновление поля
anElement.set(currentValue * 1.2); // Увеличение на 20%

Метод update применяется для изменения конфигурации, после чего get продолжает корректно возвращать значения с учётом новых настроек:

anElement.update({ decimalPlaces: 4 });
const updatedValue = anElement.get(true); // значение с точностью до 4 знаков после запятой

Советы по использованию

  • Всегда указывайте true, если значение будет использоваться для вычислений. Это предотвращает ошибки при работе с числами, содержащими разделители или символы валют.
  • Не сохраняйте форматированную строку как число, иначе последующие математические операции могут дать неверный результат.
  • Метод get безопасен при работе с отрицательными числами, процентами, валютами и пользовательскими форматами.

Метод get является фундаментальным инструментом при интеграции AutoNumeric в формы, калькуляторы и динамические интерфейсы, обеспечивая удобный доступ к числовым данным с учётом всех особенностей форматирования.