Forum: Rails-ES Convertir Real a texto pero con limite definido de decimales

Posted by Daniel Esparza (tupanka)
on 2009-06-23 21:16
Saludos.

  Necesito convertir un numero real a texto pero teniendo presente que
si por ejemplo tengo:

n=143,4082

el numero debe quedar de la forma:

"143,40"


si el numero es:

n=190

el numero debe quedar de la forma:

"190,00"

He buscado en la web y solo encuentro las funciones
numero.to_i convierte a entero
numero.to_f convierte a real
numero.to_s convierte a string

Agradeceria cualquier sugerencia
Posted by Juanma Uribe (juanma)
on 2009-06-23 21:27
(Received via mailing list)
Buenas tardes

Esta va a ser mi primera aportación a la lista, espero no confundirme, 
que
alguien con mas experiencia que yo me corrija si me equivoco.

Hasta donde yo se, rails no tiene precisión para los números reales, por 
lo
que la primera solución que se me ocurre es que multipliques por 100 
saques
la parte entera, y luego vuelvas a mover la coma para tener sólo 2
decimales.

Espero haber sido de ayuda.

Un saludo,
Juanma

El 23 de junio de 2009 21:16, Daniel Esparza <
ruby-forum-incoming@andreas-s.net> escribió:
Posted by Juan Gallego galisteo (nickel83)
on 2009-06-23 21:33
(Received via mailing list)
printf("%0.2f", n)

Los clásicos nunca mueren :-)

- Juan


2009/6/23 Juanma Uribe <jmuribe@gmail.com>
Posted by Guillermo (Guest)
on 2009-06-23 21:33
(Received via mailing list)
La forma más sencilla que se me ocurre es usar el especificador de 
formato.

En este caso, un float con dos decimales, si mal no recuerdo es "%.2f"
y para aplicarlo al número puedes usar printf, o simplemente el
operador %.

numero = 3

"%.2f" % numero
Posted by Daniel Esparza (tupanka)
on 2009-06-24 04:36
Guillermo wrote:
> La forma más sencilla que se me ocurre es usar el especificador de 
> formato.
> 
> En este caso, un float con dos decimales, si mal no recuerdo es "%.2f"
> y para aplicarlo al número puedes usar printf, o simplemente el
> operador %.
> 
> numero = 3
> 
> "%.2f" % numero

Muchas gracias! era justo lo que necesitaba!
Posted by Rafa (Guest)
on 2009-06-24 09:19
(Received via mailing list)
number_to_currency ... le puedes indicar separador de miles, de
decimales, precisión y moneda . Después .to_s ...

Saludos.
Posted by Jorge Calás Lozano (Guest)
on 2009-06-24 14:13
(Received via mailing list)
http://api.rubyonrails.org/classes/ActionView/Helpers/NumberHelper.html#M001972

number_with_precision, aunque es solo un helper de ActionView, las otras
soluciones son más estándar.

sds
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.