Postingan lainnya
variabel, fungsi dan operator di Javascript
saya sedang mengikuti tutorial JavaScript di sekolah koding ini. Saya menemukan kejanggalan utk materi berikut : var number_1 = 1000; var new_number = Math.random().toFixed(2) + number_1;
Seharusnya hasil dari new_number, karena 2 operand nya bertipe number, sehingga operator + disana berarti penjumlahan. Tapi kenyataannya di video maupun di hasil percobaan saya yg muncul adalah bertipe string, salah satu hasilnya spt ini : 0.961000. Ada yg bisa beri penjelasan ? Dan pertanyaan kedua kenapa fungsi random selalu menghasilkan angka desimal dan dibawah 1. Dari hasil beberapa kali saya coba refresh dan juga di video. hasilnya selalu spt itu. Terima kasih
3 Jawaban:
Jawaban Terpilih
Kasus 1 => toFixed() jadi string
//methode toFixed memang salah satu fungsi angka tapi nilai yg dikembalikan = 'string'
//makanya ndk bisa dibuat operasi matematika
// coba uji dulu menggunkan metode isNaN (cek angka / bukan)
alert(isNaN(Math.random().toFixed(2))); // output false => jadi bukan angka
// jika akan digunakan operasi mtk ubah dulu type nya mjd number lagi
// dengan fungsi parseFloat();
var new_number = parseFloat(Math.random().toFixed(2)) + number_1;
alert(new_number); //output 1000,xx
Kasus 2 => kenapa fungsi random selalu menghasilkan angka desimal dan dibawah 1.
Itu emg fungsi standartnya ,, tapi kalau ingin dibuat lebih dari 1..kita buat rumus sendiri.. contoh :
var bukanSatuLagi = Math.floor((Math.random() * 100) + 1);
alert(bukanSatuLagi); // ouput acak mulai 1-100
Semoga Membantu (^_^)