Python で 030 のような数字を 30 として認識させたいのですが、なぜか "print 030" と書くと 24 を返し、"print 020" と書くと 16 を返します。
ありがとう
Python で 030 のような数字を 30 として認識させたいのですが、なぜか "print 030" と書くと 24 を返し、"print 020" と書くと 16 を返します。
ありがとう
30として扱うにはどうすればよいですか?
普通に書く30
か、この数値を文字列として受け入れる場合は、
>>> int('030')
30
期待どおりに動作します。
ほとんどの言語は 0 で始まる数値を 8 進数として扱うため、30 8 進数 = 3 * 8 = 24
先頭の 0 は、「8 進数」形式、つまり基数 8 であることを示します。
print "0{}".format(30)
--output:--
030
30として扱うにはどうすればよいですか?
Python 2.x に 030 を 30 として扱わせることはできません。
私が考えることができる1つの方法はこれです。
n='030'
n=n[1:]
n=int(n)
これで n は整数 30 のように扱える数になりました