Il movimento circolare lo arrotonda verso l'alto o verso il basso. Ho sempre bisogno di arrotondare.Un modo per arrotondare Galleggia verso il basso
Ho la soluzione ma non mi piace molto ... Forse c'è un modo migliore.
Questo è quello che voglio:
1.9999.round_down(2)
#=> 1.99
1.9901.round_down(2)
#=> 1
mi si avvicinò con questa soluzione, ma mi piacerebbe sapere se esiste una soluzione migliore (Non mi piace che mi converto il galleggiante due volte). C'è già un metodo per questo? Perché mi è sembrato strano che non potessi trovarlo.
class Float
def round_down(n=0)
((self * 10**n).to_i).to_f/10**n
end
end
Grazie.
mi piace la vostra soluzione ... – reto
Cosa vuoi a che fare con i numeri negativi?Verso l'infinito negativo o verso lo zero? – l0b0
Non è esattamente quello che vuoi (dal momento che perdi sempre la parte decimale), ma se converti in un numero intero, arrotonderai sempre - '1.9901.to_i' - può essere molto meglio a seconda del tuo scenario. –