Rubyで固定長の値を扱う方法sprintfとパーセント演算子
あらすじ
- Rubyで固定長の値を扱うときはどうしたらいいんだろう
- 必ず5ケタにしたい! 255の場合は00255になってほしい
方法
調べてみるとsprintfメソッドというものがあった。
irb(main):020:0> sprintf("Number:%10d", 255) => "Number: 255" irb(main):021:0> sprintf("Number:%010d", 255) => "Number:0000000255"
なるほど、これを使えば良いのかと思っていたら、次にStringクラスに%(パーセント演算子)というものが存在している事を発見。どんな事をしてくれるのかというと…
irb(main):022:0> "Number:%010d" % 255 => "Number:0000000255"
とりあえず、使ってないと見慣れない物体に見えるなぁ。
という事で、方法を二種類見つけたんだけど、これどっち使うのがいいんだろう。個人的にはsprintfの方が何やっているかはわかりやすいけど、これは慣れの問題っぽいしな。