Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

active_supportで数値の変換でも楽をする

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"