Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@marlion7

ファイルサイズ表示に役立つgem filesize

filesizeというgemを使ったので備忘録

148MBって何バイト?
13982730000バイトって何GB?

こんなときに使えるgem

  • 148MBをバイト単位に変換

    
    Filesize.from("148MB").to_i
    => 148000000
    
  • 13982730000バイトをGB単位に変換

    
    Filesize.from("13982730000 B").to_f('GB')
    => 13.98273
    

単位を指定せず、見やすい単位を自動で選んでもらうこともできる

  • 13982730000バイトを見やすい単位に変換
    
    Filesize.from("13982730000 B").pretty
    => "13.02 GiB"
    

prettyを使うと、単位がKiB、MiB、GiBとなる

表示はMBやGBにしたいがどうしようと悩んでいたところ、先頭に書いたURLの内容を読んでいると以下の記載

(Filesize.from("1400 MB") + Filesize.from("1400 MiB")).pretty # => "2.87 GB"
(Filesize.from("1400 MiB") + Filesize.from("1400 MB")).pretty # => "2.67 GiB"

ということはこれでいけるのでは?と試したのがこちら


(Filesize.from("0 KB") + Filesize.from("13982730000 B")).pretty
=> "13.98 GB"

GB表示にすることができたが、注意点がいくつか

  • 小数第2位へ丸められる
  • 1GiB = 1024 * 1024 * 1024 byteだが、1GB = 1000 * 1000 * 1000 byteで計算される
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?