Estou treinando Ruby no URI Online Judge, e tem exercícios (a maioria) que na hora de imprimir um valor, tenho que limitar as casas decimais impressas.
Para melhor explicar, seria assim em C:
pi = 3,141592653;
printf ("pi = %.2f", pi);
=========================
>imprime = pi = 3.14
Quero fazer isso em Ruby, mas ainda não encontrei como, achei que era tipo isso:
pi = 3,141592653
puts "pi = " + pi.round(2).to_s
mas da erro de compilação…
Desse jeito você está criando um array
pi = 3,141592653
Se você fizer isso
pi.class
no irb vai perceber que o tipo retornando é Array, isso porque você usou vírgula para separar as casas decimais, outra coisa para concatenar strings você pode utilizar o << e não +, mas é preferível interpolação.
Para o que você precisa você tem que fazer
pi = 3.141592653
puts “pi = #{pi.round 2}” # ou puts “pi = #{pi.round(2)}”
Entendi… O erro de compilação que estava dando era que eu estava escrevendo raund não round (tem tudo a ver né?!), mas obrigado