LoginSignup
0
0

More than 3 years have passed since last update.

標準入力した数値の左側に0を表示する方法

Posted at

環境

Mac
Ruby 2.6.5

達成したいこと

標準入力した数値が、指定した桁数に満たなかった場合、左詰めで0を加える。
例)8桁の場合
3→00000003
12→00000012
1234→00001234

解決法

printfメソッドを使用する。
最初の引数でフォーマットを指定し、それ以降の引数で与えられた文字列または数値をフォーマットに従って整形し、文字列を生成して出力します。
基本的なprintfメソッドの書式は以下の通り。
※実際描くときは[ ]は要りません。

printf("%[フラグ][幅][.精度][指示子]", [文字列または数値])

フラグにはさまざまありますが、「0」を用いると、幅を指定する際に余った桁を「0」で埋めてくれます。幅は表示する数値の桁数を指定します。(精度は今回は指定しません)
指示子(与えられたデータの整形の仕方を指示)もいろいろありますが、整数を10進法で表示する場合は%dとします。

例えば、上記の例では以下のようになります。

num = gets.to_i
printf("%08d",num) #フラグに「0」、幅に「8」、指示子に「%d」を入力

# num = 3の場合
#=> "00000003"
# num = 12の場合
#=> "00000012"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0