Math.Random()

di Anonimizzato7290 il
3 risposte
Fatemi capire
Math.random() genera numeri tra 0 e <1, quindi 0,9999999

ora se io volessi un numero compreso tra 1 e 12 (esempio) dovrei fare una cosa del genere:
(math.random() * (12 - 1)) + 1 (ovviamente con il floor per i numeri interi)

ma facendo cosi mi sono reso conto che il 12 non esce mai; quindi quel +1 lo impostato a +2 e tutto torna...
mi confermate che il mio ragionamento è corretto???

3 Risposte

  • Ni: il tuo ragionamento e' QUASI corretto, nel senso che c'e' una soluzione migliore:

    che differenza c'e' tra floor, ceil e round?
  • migliorabile ha scritto:


    che differenza c'e' tra floor, ceil e round?
    ceil arrotonda per eccesso, quindi 3.14 sarà 4
    round per metà, cioè fino a 0.49 diventerà 0 da 0.5 compreso in poi diventerà 1
    floor arrotonda per difetto, quindi 3.14 sarà 3 (quindi floor e ceil sono uno l'opposto del l'altro)

    quello che mi vuoi dire, immagino, è di usare round cosi quando il risultato di Random sarà 0.9999 verra arrotondato ad 1 e non ho bisogno di fare +2, giusto?
Devi accedere o registrarti per scrivere nel forum
3 risposte