2010-11-13 12 views
41

Hat Ruby irgendwelche Formatter-Klassen oder Methoden, die benutzt werden können, um Zahlen für Dinge wie Währung usw. zu formatieren, oder gibt es irgendwelche Edelsteine, die das tun, oder müssen Sie sich selbst schreiben?Hat Ruby eine beliebige Anzahl von Formatierungsklassen?

+0

Jede Chance, dass Sie uns Whit Beispiele bieten könnte? Die Frage ist ziemlich weit. –

Antwort

67

Rubin alle Standarddruckformatierer hat, entweder über printf, sprintf oder 'formatstring' % [var1, ...] verwenden.

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

Sie können Kernel#sprintf (oder Kernel#format) verwenden und es so machen. API Link.

6

Try this:

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

Aus einem Kommentar von @pguardiario in einem similar thread

+2

Ein bisschen kaputt. '1234567890.1234.to_s.reverse.gsub (/ (\ d {3}) (? = \ D) /, '\\ 1,') umgekehrt =>" 1,234,567,890.1,234 "' –

+0

Danke @ynkr –

Verwandte Themen