Stack Overflow en español Asked by Diesan Romero on September 27, 2020
Tengo una lista de números generados por una división:
#encoding:UTF-8
a = Array(1 .. 100)
a.each do |number|
b = number / 2.0
puts "El resultado de #{number} entre 2 es: #{b}"
end
Y este es el resultado, tal como quería:
El resultado de 1 entre 2 es: 0.5
El resultado de 2 entre 2 es: 1.0
El resultado de 3 entre 2 es: 1.5
El resultado de 4 entre 2 es: 2.0
El resultado de 5 entre 2 es: 2.5
El resultado de 6 entre 2 es: 3.0
El resultado de 7 entre 2 es: 3.5
El resultado de 8 entre 2 es: 4.0
El resultado de 9 entre 2 es: 4.5
El resultado de 10 entre 2 es: 5.0
El resultado de 11 entre 2 es: 5.5
El resultado de 12 entre 2 es: 6.0
El resultado de 13 entre 2 es: 6.5
El resultado de 14 entre 2 es: 7.0
El resultado de 15 entre 2 es: 7.5
El resultado de 16 entre 2 es: 8.0
El resultado de 17 entre 2 es: 8.5
El resultado de 18 entre 2 es: 9.0
El resultado de 19 entre 2 es: 9.5
El resultado de 20 entre 2 es: 10.0
El resultado de 21 entre 2 es: 10.5
El resultado de 22 entre 2 es: 11.0
El resultado de 23 entre 2 es: 11.5
El resultado de 24 entre 2 es: 12.0
El resultado de 25 entre 2 es: 12.5
El resultado de 26 entre 2 es: 13.0
El resultado de 27 entre 2 es: 13.5
El resultado de 28 entre 2 es: 14.0
El resultado de 29 entre 2 es: 14.5
El resultado de 30 entre 2 es: 15.0
El resultado de 31 entre 2 es: 15.5
El resultado de 32 entre 2 es: 16.0
El resultado de 33 entre 2 es: 16.5
El resultado de 34 entre 2 es: 17.0
El resultado de 35 entre 2 es: 17.5
El resultado de 36 entre 2 es: 18.0
El resultado de 37 entre 2 es: 18.5
El resultado de 38 entre 2 es: 19.0
El resultado de 39 entre 2 es: 19.5
El resultado de 40 entre 2 es: 20.0
El resultado de 41 entre 2 es: 20.5
El resultado de 42 entre 2 es: 21.0
El resultado de 43 entre 2 es: 21.5
El resultado de 44 entre 2 es: 22.0
El resultado de 45 entre 2 es: 22.5
El resultado de 46 entre 2 es: 23.0
El resultado de 47 entre 2 es: 23.5
El resultado de 48 entre 2 es: 24.0
El resultado de 49 entre 2 es: 24.5
El resultado de 50 entre 2 es: 25.0
El resultado de 51 entre 2 es: 25.5
El resultado de 52 entre 2 es: 26.0
El resultado de 53 entre 2 es: 26.5
El resultado de 54 entre 2 es: 27.0
El resultado de 55 entre 2 es: 27.5
El resultado de 56 entre 2 es: 28.0
El resultado de 57 entre 2 es: 28.5
El resultado de 58 entre 2 es: 29.0
El resultado de 59 entre 2 es: 29.5
El resultado de 60 entre 2 es: 30.0
El resultado de 61 entre 2 es: 30.5
El resultado de 62 entre 2 es: 31.0
El resultado de 63 entre 2 es: 31.5
El resultado de 64 entre 2 es: 32.0
El resultado de 65 entre 2 es: 32.5
El resultado de 66 entre 2 es: 33.0
El resultado de 67 entre 2 es: 33.5
El resultado de 68 entre 2 es: 34.0
El resultado de 69 entre 2 es: 34.5
El resultado de 70 entre 2 es: 35.0
El resultado de 71 entre 2 es: 35.5
El resultado de 72 entre 2 es: 36.0
El resultado de 73 entre 2 es: 36.5
El resultado de 74 entre 2 es: 37.0
El resultado de 75 entre 2 es: 37.5
El resultado de 76 entre 2 es: 38.0
El resultado de 77 entre 2 es: 38.5
El resultado de 78 entre 2 es: 39.0
El resultado de 79 entre 2 es: 39.5
El resultado de 80 entre 2 es: 40.0
El resultado de 81 entre 2 es: 40.5
El resultado de 82 entre 2 es: 41.0
El resultado de 83 entre 2 es: 41.5
El resultado de 84 entre 2 es: 42.0
El resultado de 85 entre 2 es: 42.5
El resultado de 86 entre 2 es: 43.0
El resultado de 87 entre 2 es: 43.5
El resultado de 88 entre 2 es: 44.0
El resultado de 89 entre 2 es: 44.5
El resultado de 90 entre 2 es: 45.0
El resultado de 91 entre 2 es: 45.5
El resultado de 92 entre 2 es: 46.0
El resultado de 93 entre 2 es: 46.5
El resultado de 94 entre 2 es: 47.0
El resultado de 95 entre 2 es: 47.5
El resultado de 96 entre 2 es: 48.0
El resultado de 97 entre 2 es: 48.5
El resultado de 98 entre 2 es: 49.0
El resultado de 99 entre 2 es: 49.5
El resultado de 100 entre 2 es: 50.0
Como sabemos, el resultado da un número flotante, gracias a que el divisor es flotante, sino diera un número entero, ya que es una característica de ruby. Hasta ahí todo bien, pero necesito hacer lo siguiente. Quiero que me imprima solo los números con decimales 5, eso hay que hacerlo con una expresión regular o ruby tiene alguna funcion o método que me ayude a resolver eso?
Hasta donde sé no hay una función específica para lo que buscas, pero podrías utilizar %
; por ejemplo:
#encoding:UTF-8
a = Array(1 .. 100)
a.each do |number|
b = number / 2.0
puts "El resultado de #{number} entre 2 es: #{b}" if b % 2 == 1
end
Correct answer by Gerry on September 27, 2020
A tu consulta, utilicé un for. Saludos
num = (0..100).to_a
for i in 0..num.size-1
nume = num[i]
if nume %2 >0
puts "El resultado de #{nume} entre 2 es: #{nume/2.00}"
end
end
Answered by Jimmy C. Montoya on September 27, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP