2010-11-13 11 views
41

Ruby'de, para birimi vb. Şeylerin sayılarını biçimlendirmek için kullanılabilecek herhangi bir Formatter sınıfı veya yöntemi var mı, yoksa bunu yapan herhangi bir mücevher var mı, yoksa size ait bir şey yazmanız mı gerekiyor?Ruby'de herhangi bir sayı biçimlendirme sınıfı var mı?

+0

yılında @pguardiario tarafından bir yorumu da bize katiyen örnekler verebilir Herhangi şans Taken? Soru oldukça geniştir. –

cevap

67

Yakut tüm standart baskı biçemleyicileri, mevcut ya printf aracılığıyla, sprintf veya 'formatstring' % [var1, ...] kullanarak vardır rayların üzerinde yakut kontrol edebilirsiniz.

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

Kernel#sprintf (veya Kernel#format) 'u kullanabilir ve bu şekilde yapabilirsiniz. API Link.

6

bu deneyin:

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

bir similar thread

+2

Biraz bozuk. 1234567890.1234.to_s.reverse.gsub (/ (\ d {3}) (? = \ D) /, '\\ 1,') = "" 1,234,567,890,1,234 " –

+0

Teşekkür ederim @ynkr –

İlgili konular