Nimでゼロ埋めしたいと思っただけ。
import strformat, strutils
let
n = 6
s = "5"
# int型
doAssert fmt"{n:04}" == "0006"
# string型の場合parseIntする
doAssert fmt"{s.parseInt:03}" == "005"
string型はformat関数でも出来そうでしたが,ゼロ埋めだけならintに変換してしまう方が楽だと思いました。(ドキュメントの英語がよくわからなかった)
詳しくはstrformatの公式ドキュメントへ
18/06/01追記
@2vgさんにalign
を使う方法を教えていただきました。ありがとうございます。
import strutils
var a: string = ""
doAssert a.align(5, '0') == "00000"
a = "123"
doAssert a.align(5, '0') == "00123"
doAssert a.align(6, '#') == "###123"
もとの値がint型で0またはスペースで埋めたいだけならfmt
の上の方法,
もとの値がstring型で0やスペース以外で埋めたい場合はalign
を使うのが良さそうですね。