map*_*008 6 python format octal
将八进制数转换为字符串时遇到问题.
p = 01212
k = str(p)
print k
Run Code Online (Sandbox Code Playgroud)
结果是650但我需要01212.我怎样才能做到这一点?提前致谢.
pax*_*blo 18
您的数字p是实际值而不是该值的表示.因此,它实际上是,和,都在同一时间.650101212828a16
如果你想把它看作八进制,只需使用:
print oct(p)
Run Code Online (Sandbox Code Playgroud)
根据以下成绩单:
>>> p = 01212
>>> print p
650
>>> print oct(p)
01212
Run Code Online (Sandbox Code Playgroud)
这适用于Python 2(由于您使用的0NNN是八进制文字的变体而不是0oNNN),因此您似乎正在使用它.
Python 3的表示略有不同:
>>> p = 0o1212
>>> print (p)
650
>>> print (oct(p))
0o1212
Run Code Online (Sandbox Code Playgroud)
Jam*_*lls 11
一种方法是o使用格式迷你规范语言中的格式字符:
例:
>>> x = 01212
>>> print "0{0:o}".format(x)
01212
Run Code Online (Sandbox Code Playgroud)
'o'八进制格式.输出基数为8的数字.
注意:您仍然需要预先添加0(除非您使用内置功能oct()).
更新:如果您使用的是Python 3+:
$ python3.4
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 01212
File "<stdin>", line 1
x = 01212
^
SyntaxError: invalid token
>>> x = 0o1212
>>> print(oct(x))
0o1212
>>> print("0o{0:o}".format(x))
0o1212
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11135 次 |
| 最近记录: |