Ruby有任何数字格式化类吗?

Does Ruby have any number formatting classes?

Ruby是否有任何Formatter类或方法可用于格式化货币等数字的数字,或者是否有任何宝石执行此操作,或者您是否必须自己编写?


Ruby拥有所有标准的打印格式化程序,可通过printf,sprintf或'formatstring' % [var1, ...]获得。

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

试试这个:

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

取自@pguardiario在类似帖子中的评论


您可以使用Kernel#sprintf(或Kernel#format)并以此方式执行。 API链接。


你可以在rails的ActionView :: Helpers :: NumberHelper上查看ruby