Integer to Hexadecimal Conversion in Python

17,373

Solution 1

You can use format :

>>> a = 1
>>> '{0:02x}'.format(a)
'01'
>>> '0x{0:02x}'.format(a)
'0x01'

Solution 2

>>> format(1, '#04x') 
'0x01'

Solution 3

print "0x%02x"%a

x as a format means "print as hex".
02 means "pad with zeroes to two characters".

Solution 4

Try:

print "0x%02x" % a

It's a little hairy, so let me break it down:

The first two characters, "0x" are literally printed. Python just spits them out verbatim.

The % tells python that a formatting sequence follows. The 0 tells the formatter that it should fill in any leading space with zeroes and the 2 tells it to use at least two columns to do it. The x is the end of the formatting sequence and indicates the type - hexidecimal.

If you wanted to print "0x00001", you'd use "0x%05x", etc.

Solution 5

You can use format:

>>> "0x"+format(1, "02x")
'0x01'
Share:
17,373
heethesh
Author by

heethesh

Updated on June 16, 2022

Comments

  • heethesh
    heethesh almost 2 years
    a = 1
    print hex(a)
    

    The above gives me the output: 0x1

    How do I get the output as 0x01 instead?