Ruby:
Redondeo de números
Cómo hacerlo:
# Redondeo básico
puts 3.14159.round # => 3
puts 2.6.round # => 3
# Especificando precisión
puts 3.14159.round(2) # => 3.14
puts 2.675.round(2) # => 2.68
# Redondeo hacia abajo
puts 2.9.floor # => 2
# Redondeo hacia arriba
puts 2.1.ceil # => 3
# Redondeo hacia cero
puts -2.9.round # => -3
puts -2.9.truncate # => -2
Salida de muestra:
3
3
3.14
2.68
2
3
-3
-2
Análisis Profundo
Redondear números no es algo nuevo—los humanos lo han estado haciendo por siglos para facilitar los cálculos o para trabajar dentro de los límites de sus herramientas. En Ruby, el método round
es versátil, con la capacidad de redondear al número entero más cercano por defecto o a un lugar decimal especificado.
Una alternativa a round
es floor
para redondear siempre hacia abajo, y ceil
para redondear siempre hacia arriba, independientemente del valor del número. Para simplemente cortar los lugares decimales, tienes truncate
.
Históricamente, cuando se trata de computadoras, el redondeo se vuelve crítico al tratar con aritmética de punto flotante debido a su imprecisión inherente. Ruby, como la mayoría de los lenguajes, sigue el estándar IEEE 754 para los números de punto flotante, lo que significa que maneja el redondeo de una manera que la mayoría de los programadores deberían poder predecir y confiar.
Sin embargo, hay más en esto—cosas como el redondeo del banquero (también conocido como redondeo a la mitad par) son conceptos que los desarrolladores de Ruby pueden necesitar implementar manualmente, ya que el método round
no lo ofrece directamente.
Véase También
- La Documentación de Ruby para el método
round
de los Floats. - Estándar IEEE para la Aritmética de Punto Flotante (IEEE 754).
- Comprendiendo la Precisión de Punto Flotante, para una comprensión más profunda de cómo las computadoras manejan los números decimales.