Como limitar numero de decimais na hora de imprimir

2 respostas
programação
daniel_joveliano

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…

2 Respostas

Jhonny_Oliveira

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)}”

daniel_joveliano

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

Criado 17 de fevereiro de 2017
Ultima resposta 24 de fev. de 2017
Respostas 2
Participantes 2