Convertir Real a texto pero con limite definido de decimales

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

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 E. <
[email protected]> escribió:

printf(“%0.2f”, n)

Los clásicos nunca mueren :slight_smile:

  • Juan

2009/6/23 Juanma U. [email protected]

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

number_to_currency … le puedes indicar separador de miles, de
decimales, precisión y moneda . Después .to_s …

Saludos.

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!

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

sds