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

avatar nomib
@nomib

7 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

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 (^_^)

avatar ciloxz
@ciloxz

284 Kontribusi 139 Poin

Dipost 6 tahun yang lalu

ok bang, makasih atas pencerahannya

avatar nomib
@nomib

7 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

welcome broo..

avatar ciloxz
@ciloxz

284 Kontribusi 139 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban