2010-11-13 8 views
41

¿Ruby tiene alguna clase de formateador o método que se puede usar para formatear números para elementos como monedas, etc., o hay gemas que hacen esto, o tiene que escribir su propia cuenta?¿Tiene Ruby alguna clase de formato de números?

+0

alguna posibilidad de que nos pudiera proporcionar ejemplos whit? La pregunta es bastante amplia. –

Respuesta

67

Ruby tiene todos los formateadores de impresión estándar, disponibles ya sea a través de printf, sprintf o utilizando 'formatstring' % [var1, ...].

>> '%.2f' % 3.14159 #=> "3.14" 
>> '%4s %-4s' % ['foo', 'bar'] #=> " foo bar " 
5

Puede usar Kernel#sprintf (o Kernel#format) y hacerlo de esa manera. API Link.

6

Prueba esto:

1234567890.123.to_s.reverse.gsub(/(\d{3})(?=\d)/, '\\1,').reverse 
=> "1,234,567,890.123" 

tomado de un comentario de @pguardiario en un similar thread

+2

Un poco roto. '1234567890.1234.to_s.reverse.gsub (/ (\ d {3}) (? = \ D) /, '\\ 1,'). Reverse =>" 1,234,567,890.1,234 "' –

+0

Gracias @ynkr –

Cuestiones relacionadas