JavaScript Rastgele Sayı Üretme

JavaScript Math.random() fonksiyonu 0 (dahil) 1 (hariç) arasında rastgele sayı üretir.

<script>
  alert(Math.random());
</script>

Math.random() fonksiyonu her zaman 1’den küçük ondalıklı sayı üretir.

JavaScript rastgele tam sayı üretmek

JavaScript Math.random() ile üretilen rastgele ondalıklı sayıyı Math.floor() ile ondalıksız tamsayıya çevirebiliriz.

<script>
  alert(Math.floor(Math.random() * 10)); // 0 ve 9 arasında sayı üretir.
</script>
<script>
  alert(Math.floor(Math.random() * 11)); // 0 ve 10 arasında sayı üretir.
</script>
<script>
  alert(Math.floor(Math.random() * 100)); // 0 ve 99 arasında sayı üretir.
</script>
<script>
  alert(Math.floor(Math.random() * 101)); // 0 ve 100 arasında sayı üretir.
</script>
<script>
  alert(Math.floor(Math.random() * 10) + 1); // 1 ve 10 arasında sayı üretir.
</script>
<script>
  alert(Math.floor(Math.random() * 100) + 1); // 1 ve 100 arasında sayı üretir.
</script>

Her zaman JavaScript ile rastgele sayı üretmek ile uğraşmamak için fonksiyon yazılabilir.

Aşağıdaki fonksiyon min (dahil) ve max (hariç) arasında rastgele sayı üretir

<script>
function randomInt(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}
</script>

Aşağıdaki fonksiyon min (dahil) ve max (dahil) arasında rastgele sayı üretir

<script>
function randomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}
</script>

Örnek kullanım;

<!DOCTYPE html>
<html lang="tr">

<head>
  <meta charset="UTF-8">
  <title>JavaScript rastgele sayı üretme</title>
</head>

<body>
  <div id="sonuc">Rastgele üretilen sayı : <span id="sayi"></span></div>
  <button onclick="sayiUret();">Sayı üret</button>
  <script>
    function sayiUret() {
      document.getElementById("sayi").innerHTML = randomInt(10, 20);
    }

    function randomInt(min, max) {
      return Math.floor(Math.random() * (max - min + 1)) + min;
    }
  </script>
</body>

</html>

JavaScript Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!