文字列変数があります:
str1 = '0000120000210000'
最初の 4 つのゼロ文字を失うことなく、文字列を整数に変換したいと考えています。つまり、整数変数に最初の 4 桁のゼロも整数の一部として格納する必要があります。
関数を試しましたint()
が、最初の 4 桁を保持できません。
2 つの整数を使用できます。1 つは数値の幅を格納するため、もう 1 つは数値自体を格納するためです。
kw = len(s)
k = int(s)
数値を文字列に戻すには、次を使用しますformat
。
print '{:0{width}}'.format(k, width=kw) # prints 0000120000210000
ただし、一般に、識別子 (クレジット カード番号、学生 ID など) を整数として格納しないでください。これらのコンテキストの数値は、算術を行う必要がある場合にのみ使用する必要があり、通常は識別子で算術を行いません。
あなたが望むことは単に実行できません..整数値は先行ゼロを保存しません。それらはいくつでもある可能性があるためです。ですので、何本収納できるかは一概には言えません。
print
しかし、そのようにしたい場合は、 formatting output
.
編集: -
完全な回答を得るために、OP から@TimPietzcker のコメントを追加しました。
算術演算を行う予定がない限り、数値を整数として格納しないでください。それ以外の場合はすべて、文字列として保存する必要があります