Saya harus memutuskan antara konversi parseFloat () dan Number () sebelum saya dapat melakukan panggilan toFixed (). Berikut adalah contoh dari pemformatan input pengguna pasca-pengambilan.
HTML:
<input type="number" class="dec-number" min="0" step="0.01" />
Penangan acara:
$('.dec-number').on('change', function () {
const value = $(this).val();
$(this).val(value.toFixed(2));
});
Kode di atas akan menghasilkan pengecualian TypeError. Perhatikan bahwa meskipun tipe input html adalah "angka", input pengguna sebenarnya adalah tipe data "string". Namun, fungsi toFixed () hanya dapat dipanggil pada objek yang merupakan Angka.
Kode akhir saya akan terlihat sebagai berikut:
$('.dec-number').on('change', function () {
const value = Number($(this).val());
$(this).val(value.toFixed(2));
});
Alasan saya memilih untuk menggunakan Number () vs. parseFloat () adalah karena saya tidak harus melakukan validasi tambahan baik untuk string input kosong, maupun nilai NaN. Fungsi Number () akan secara otomatis menangani string kosong dan diam-diam menjadi nol.