active_supportのto_sも非常に使い手のある
パーセンテージ
100.to_s(:percentage, precision: 2) #=> "100.00%"
100.to_s(:percentage, precision: 0) #=> "100%"
金額
100_000_000.to_s(:currency) #=> "$100,000,000.00"
通貨単位はnumber_to_currencyと同じくunitで指定します。
100_000_000.to_s(:currency, precision: 0, unit:"¥") #=> "¥100,000,000"
あるいはI18n経由でlocaleオプションを使う事も可能です。
人間が認識する形に成型
ハードディスクの容量とかで出てくるアレです
100_000_000.to_s(:human_size) #=> "95.4 MB"
日本人には余り馴染みがないですがミリオンとかビリオンの記述も
1234567.to_s(:human) #=> "1.23 Million"