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

age*_*217 44 ruby

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

the*_*Man 76

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

>> '%.2f' % 3.14159 #=> "3.14"
>> '%4s %-4s' % ['foo', 'bar'] #=> " foo bar "
Run Code Online (Sandbox Code Playgroud)


ynk*_*nkr 9

试试这个:

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

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

  • 有点破.`1234567890.1234.to_s.reverse.gsub(/(\ d {3})(?=\d)/,'\\ 1,').reverse =>"1,234,567,890.1,234"` (2认同)

Ree*_*ore 7

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