I've got a problem when converting an octal number to a string.
p = 01212
k = str(p)
print k
The result is 650
but I need 01212
. How can I do this? Thanks in advance.
Python oct() function is used to get an octal value of an integer number. This method takes an argument and returns an integer converted into an octal string. It throws an error TypeError if argument type is other than an integer.
1. A. The octal numeral system, or oct for short, is the base-8 number system, and uses the digits 0 to 7, that is to say 10octal represents eight and 100octal represents sixty-four.
Definition and Usage. The oct() function converts an integer into an octal string. Octal strings in Python are prefixed with 0o .
Using %o format specifier in printf, we can print the octal numbers.
Your number p
is the actual value rather than the representation of that value. So it's actually 65010
, 12128
and 28a16
, all at the same time.
If you want to see it as octal, just use:
print oct(p)
as per the following transcript:
>>> p = 01212
>>> print p
650
>>> print oct(p)
01212
That's for Python 2 (which you appear to be using since you use the 0NNN
variant of the octal literal rather than 0oNNN
).
Python 3 has a slightly different representation:
>>> p = 0o1212
>>> print (p)
650
>>> print (oct(p))
0o1212
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With