このディレクトリの索引
#
#  正の整数を文字列に変換し、指定桁数に足らない場合ゼロを詰める
#  

頭部零文字列に変換(_指定桁数,_整数,_頭部零文字列) :-
        number_chars(_整数,Chars),
        lpad(Chars,_指定桁数,'0',_頭部零文字列).

lpad(_文字列,_桁,_補填文字,_補填された文字列) :-
        補填文字が必要(_文字列,_桁,_補填文字数),
        補填文字列の生成(_補填文字,_補填文字数,_補填文字文字列),
        atomic_list_concat([_補填文字列,_文字列],_補填された文字列),!.
lpad(_文字列の一,_,_,_文字列) :-
        atomic_list_concat([_文字列の一],_文字列).

補填文字が必要(_文字列,_桁,_補填文字数) :-
        atomic_length(_文字列,_文字列長),
        _補填文字数 is _桁 - _文字列長,
        _補填文字数 > 0.

補填文字列の生成(_補填文字,_補填文字数,_補填文字列) :-
        length(_補填文字ならび,_補填文字数),
        all(_補填文字ならび,_補填文字),
        atomic_list_concat(_補填文字ならび,_補填文字列).

all([],_).
all([V|R],V) :-
        all(R,V).