Vikas Bansal Vikas Bansal - 2 months ago 12
Python Question

Python Hexadecimal

How to convert decimal to hex in the following format?

Input:

255
Output:
ff


Input:
2
Output:
02


I tried
hex(int)[2:]
but it seems that it displays the first example but not the second one.

Answer

Use the format() function with a '02x' format.

>>> format(255, '02x')
'ff'
>>> format(2, '02x')
'02'

The 02 part tells format() to use at least 2 digits and to use zeros to pad it to length, x means lower-case hexadecimal.

The Format Specification Mini Language also gives you X for uppercase hex output, and you can prefix the field width with # to include a 0x or 0X prefix (depending on wether you used x or X as the formatter). Just take into account that you need to adjust the field width to allow for those extra 2 characters:

>>> format(255, '02X')
'FF'
>>> format(255, '#04x')
'0xff'
>>> format(255, '#04X')
'0XFF'
Comments