2010-12-03 11 views
48

Si tengo un flotador de 49.967 y lo hago .to_i lo reducirá a 49, lo que para mi uso del análisis de espacio en disco .967 es más de 900mb de espacio que no se tendrá en cuenta para en las pantallas.Redondeando un flotador al entero más cercano en ruby ​​

¿Existe una función para redondear los números al entero más cercano o tendría que definir mi auto así:

class Float 
    def to_nearest_i 
    (self+0.5).to_i 
    end 
end 

para que luego pudiera hacer:

>> 5.44.to_nearest_i 
=> 5 
>> 5.54.to_nearest_i 
=> 6 
+0

¿Sabía que hay documentación para Ruby, ¿verdad? http://ruby-doc.org/ruby-1.9/classes/Float.html#M000532 –

+0

@glennmcdonald, su enlace está roto. Aquí hay un nuevo enlace para 2.20: http://ruby-doc.org/core-2.2.0/Float.html – Austin

+0

y aquí hay un enlace a [Float.round] (http://ruby-doc.org/ core-1.9.3/Float.html # method-i-round) – Austin

Respuesta

95

Trate Float.round .

irb(main):001:0> 5.44.round 
=> 5 
irb(main):002:0> 5.54.round 
=> 6 
+0

Saludos, sabía que debe haber algo en ruby ​​para hacerlo – Arcath

Cuestiones relacionadas