単純に正規表現置換で、
例えば最終的に5桁にするとして、
元数字1桁なら0を4つ足す、2桁なら3つ足す、を繰り返すか。

例えば最大30桁で、30回も置換するのはめんどくせえ、
とかになると、
通常置換で元数字の前に0を29個置き、
000000000000000000000000000001
0000000000000000000000000000022
00000000000000000000000000000333
正規表現置換で数字30桁の前の0を削除
検索:0*(\d#{30})
置換:\1
とすると、
000000000000000000000000000001
000000000000000000000000000022
000000000000000000000000000333
になる。

元数字が綺麗で、余計な数字も無い状態ならね。