Мені довелося вирішити між перетвореннями parseFloat () та Number (), перш ніж я міг здійснити дзвінок toFixed (). Ось приклад форматування чисел після введення інформації користувача після захоплення.
HTML:
<input type="number" class="dec-number" min="0" step="0.01" />
Обробник подій:
$('.dec-number').on('change', function () {
const value = $(this).val();
$(this).val(value.toFixed(2));
});
Вищевказаний код призведе до виключення TypeError. Зауважте, що хоча тип введення html - "число", введення користувача насправді є "рядковим" типом даних. Однак функцію toFixed () можна викликати лише на об'єкті, який є числом.
Мій кінцевий код виглядатиме так:
$('.dec-number').on('change', function () {
const value = Number($(this).val());
$(this).val(value.toFixed(2));
});
Причина, якою я віддаю перевагу при передачі номера () проти parseFloat (), полягає в тому, що мені не потрібно виконувати додаткові перевірки ні для порожнього вхідного рядка, ні для значення NaN. Функція Number () автоматично оброблятиме порожній рядок і приховуватиме його до нуля.