Tilfeldige Tall

Å kunne generere tilfeldige tall er avgjørende for mange programmer, spesielt spill, simuleringer og kryptografi. I JavaScript er funksjonen Math.random() nøkkelen.

1. Math.random()

Funksjonen Math.random() gir oss et tilfeldig desimaltall mellom 0 (inkludert) og 1 (ekskludert). Det vil si at tallet kan være 0, 0.999..., men aldri 1.

Math.random() 0.5326013863...

2. Math.floor()

Ofte vil vi ha heltall (integers), ikke desimaltall. Funksjonen Math.floor() runder alltid ned til nærmeste heltall. Den kutter rett og slett av desimalene.

Tall:
Math.floor(5.99) 5

3. Lag et område (1 til 10)

For å få et tall mellom 1 og 10, må vi manipulere resultatet fra Math.random() i flere steg.

Steg 1: Få et tall mellom 0.0 og 0.999...
Math.random() = 0.494...
Steg 2: Gang med 10 for å få tall mellom 0.0 og 9.99...
Math.random() * 10 = 4.938...
Steg 3: Bruk Math.floor() for å få heltall (0-9)
Math.floor(Math.random() * 10) = 4
Steg 4: Legg til 1 for å skifte området fra 0-9 til 1-10
Math.floor(Math.random() * 10) + 1 = 5

4. Egendefinert Område

For å få et tilfeldig tall mellom min og max, bruker vi denne formelen:

Math.floor(Math.random() * (max - min + 1)) + min;

Eksempel: 50 til 200

let min =
let max =
Resultat: 0

🗝️ Sentrale begreper

  • Math.random() : Returnerer et "pseudotilfeldig" desimaltall i området [0, 1). Det vil si 0 til (men ikke inkludert) 1.
  • Math.floor(x) : Runder x ned til nærmeste heltall.
  • Math.ceil(x) : Runder x opp til nærmeste heltall (motsatt av floor).
  • Math.round(x) : Runder x til nærmeste heltall (vanlig avrunding).