Using %x to format number to hex and number of digits

Chris Rebert clp2 at rebertia.com
Fri Nov 5 14:57:14 EDT 2010


On Fri, Nov 5, 2010 at 11:23 AM, Matty Sarro <msarro at gmail.com> wrote:
> I'm currently trying to convert a digit from decimal to hex, however I need
> the full 4 digit hex form. Python appears to be shortening the form.
> Example:
>
> num = 10
> num = "%x"%(num)
> print(num)
>
>>a
>
> num = 10
> num = "%#x"%(num)
> print(num)
>
>>0xa
>
> I need it to output as 0x0a, and the exercise is requiring me to use %x to
> format the string. Any help would be appreciated.

Use str.zfill() and add the 0x manually:

num = 10
hexdig = "%x" % num
padded = hexdig.zfill(2) # pad with 0 if necessary
oxd = "0x" + padded
print(oxd)

Cheers,
Chris
--
http://blog.rebertia.com



More information about the Python-list mailing list