JavaScript ile rastgele sayı üretme konusunu Sayısal Loto Uygulaması ve Math Nesnesi Metotları ile anlatmıştım. Ayrı bir başlık ile burada da değinmek istedim.
Math.random() metodu ile rastgele 0-1 rasında bir sayı üretilir.
Temel Kullanım:
1 2 3 4 5 6 |
<script> var sayi1=Math.random(); window.alert(sayi1);//üretilen sayıyı ekrana uyarı olarak veriyor </script> |
JavaScript ile Rastgele Tam Sayı Üretme
İstediğimiz sayıya kadar olan sayılar arasından rastgele bir sayı üretilmesi için istediğimiz sayı ile Math.random() sayısını çarpıp kalan ondalıklı kısmı toFixed metodu yada Math.round() ile kırpıyoruz.
1 2 3 4 5 6 7 8 9 10 11 |
<script> var ustSayi=100; var sayi1=Math.random(); sayi1=Math.round((sayi1*ustSayi)); window.alert(sayi1);//üretilen sayıyı ekrana uyarı olarak veriyor </script> |
JavaScript ile İstenilen Aralıkta Rastgele Tam Sayı Üretme
İstenilen aralıkta tam sayı üretmek için alt sınırdaki sayı rastgele üretilen tamsayı ile topluyoruz. Rastgele tam sayıyı üretmek içinse üst sınırdan alt sınırı çıkartıp, çıkarılan aralıkta tam sayı üretiyoruz.
Örn: 20 -100 arasında bir sayı üretmek istiyoruz.
Math.random() ile üretilen sayıyı (100-20) ile çarpıyoruz. (üretilen rastgele sayı 0-80 arasında oluyor)
Sonraki adımda ise üretilen sayıya 20 sayısını ekliyoruz. (üretilen sayı 20-100 arasında oluyor)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<script> var ustSayi=100; var altSayi=20; var sayi=Math.random(); sayi=sayi*(ustSayi-altSayi); sayi=Math.floor(sayi)+altSayi; window.alert(sayi);//üretilen sayıyı ekrana uyarı olarak veriyor </script> |
Rastgele Sayı Üretici Metod Oluşturma
Math Nesnesine rastgele sayı üretmesi için random gibi bir metod bağlayabiliriz. Aşağıda hazırladığım sınıfı ayrı bir kütüphane dosyası olarak rastgele sayı üretmek için kullanabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//ayrı bir dosya olarak kaydedilebilir. /***Rastgele Sayı Üretici***/ Math.rastgele=function(alt, ust){ let sayi=Math.random(); sayi=sayi*(ust-alt); sayi=Math.floor(sayi)+alt; return sayi; } /****Rastgele Sayı Üretici sonu*****/ |
Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<script> //ayrı bir dosya olarak kaydedilebilir. /***Rastgele Sayı Üretici***/ Math.rastgele=function(alt, ust){ let sayi=Math.random(); sayi=sayi*(ust-alt); sayi=Math.floor(sayi)+alt; return sayi; } /****Rastgele Sayı Üretici sonu*****/ //Yukarıdaki metodu istediğimiz kadar kullanabiliriz. window.alert( Math.rastgele(0,100) ) ; window.alert( Math.rastgele(20,60) ); window.alert( Math.rastgele(100,200) ); </script> |