-2

文字列変数があります:

str1 = '0000120000210000'

最初の 4 つのゼロ文字を失うことなく、文字列を整数に変換したいと考えています。つまり、整数変数に最初の 4 桁のゼロも整数の一部として格納する必要があります。

関数を試しましたint()が、最初の 4 桁を保持できません。

4

2 に答える 2

4

2 つの整数を使用できます。1 つは数値の幅を格納するため、もう 1 つは数値自体を格納するためです。

kw = len(s)
k = int(s)

数値を文字列に戻すには、次を使用しますformat

print '{:0{width}}'.format(k, width=kw) # prints 0000120000210000

ただし、一般に、識別子 (クレジット カード番号、学生 ID など) を整数として格納しないでください。これらのコンテキストの数値は、算術を行う必要がある場合にのみ使用する必要があり、通常は識別子で算術を行いません。

于 2012-10-20T05:26:36.910 に答える
2

あなたが望むことは単に実行できません..整数値は先行ゼロを保存しません。それらはいくつでもある可能性があるためです。ですので、何本収納できるかは一概には言えません。

printしかし、そのようにしたい場合は、 formatting output.

編集: -

完全な回答を得るために、OP から@TimPietzcker のコメントを追加しました。

算術演算を行う予定がない限り、数値を整数として格納しないでください。それ以外の場合はすべて、文字列として保存する必要があります

于 2012-10-20T05:20:52.520 に答える