Programación | Aprendiendo Ruby 0001.3

Convirtiendo cadenas de texto a números

Todo bien hasta ahora, sin embargo lo único que estamos haciendo es imprimir los valores que recibimos. Aún no operamos con ellos.

Supongamos que queremos crear un programa dónde nosotros le demos el precio neto de un producto, y el programa nos devuelva el precio con IVA (Impuesto de Valor Agregado), sabiendo que el IVA equivale al 16%... ¿Cómo podríamos hacerlo?

EJERCICIO-2-CalculadoradeIVA-v1-rb

print "CALCULADORA DE IVA\n"
IVA = 0.16

print "Dame un precio: "
precio = gets.to_f
# El método to_f es el que se encarga de transformar el string en un número flotante.

#imprimimos el precio neto
puts "PRECIO: $#{precio}"

#calculamos el impuesto
puts "IVA: $#{precio*IVA}"

#calculamos el precio final o precio al público
puts "PRECIO AL PÚBLICO: $#{precio + (precio*IVA)}"

Como podemos ver, gets por defecto lo que recibe del usuario los usa como una cadena, pero si mandamos a llamar to_f (to float. convertir a flotante) hace la conversión correspondiente, obvio, si es un número, si fuera un texto, por ejemplo “oso”, el valor generado de la conversión sería 0.