Ruby:
Arrotondamento dei numeri
Come fare:
# Arrotondamento di base
puts 3.14159.round # => 3
puts 2.6.round # => 3
# Specificare la precisione
puts 3.14159.round(2) # => 3.14
puts 2.675.round(2) # => 2.68
# Arrotondamento verso il basso
puts 2.9.floor # => 2
# Arrotondamento verso l'alto
puts 2.1.ceil # => 3
# Arrotondamento verso lo zero
puts -2.9.round # => -3
puts -2.9.truncate # => -2
Output di esempio:
3
3
3.14
2.68
2
3
-3
-2
Approfondimento
L’arrotondamento dei numeri non è una novità—gli umani lo fanno da secoli per facilitare i calcoli o per lavorare entro i limiti dei loro strumenti. In Ruby, il metodo round
è versatile, con la capacità di arrotondare al numero intero più vicino per impostazione predefinita o a un punto decimale specificato.
Una alternativa a round
è floor
per arrotondare sempre verso il basso, e ceil
per arrotondare sempre verso l’alto, indipendentemente dal valore del numero. Per semplicemente tagliare i decimali, si può usare truncate
.
Storicamente, quando si tratta di computer, l’arrotondamento diventa critico nel trattare l’aritmetica a virgola mobile a causa della sua intrinseca imprecisione. Ruby, come la maggior parte dei linguaggi, segue lo standard IEEE 754 per i numeri a virgola mobile, il che significa che gestisce l’arrotondamento in un modo che la maggior parte dei programmatori dovrebbe essere in grado di prevedere e su cui possono fare affidamento.
C’è di più, però—cose come l’arrotondamento bancario (noto anche come arrotondare alla metà pari) sono concetti che gli sviluppatori Ruby potrebbero dover implementare manualmente, poiché il metodo round
non lo offre direttamente.
Vedere anche
- La Documentazione Ruby per il metodo
round
dei Float. - Standard IEEE per l’aritmetica a virgola mobile (IEEE 754).
- Comprendere la precisione in virgola mobile, per un’insight più profondo su come i computer gestiscono i numeri decimali.