On 11/05/10 13:23, Matty Sarro 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.

Though it feels hokey to me, using

  "%#04x" % 10

works for me. The "#" adds the "0x" prefix (the "alternate form"), the "0" pads with zeros, and the "4" is really "2 places + 2 characters for the prefix". So if you want 4 hex characters + the 2 prefix characters, you'd use "%#06x". IMHO, this would make more sense if it didn't take the 2-character prefix into consideration (being written as "%#02x" for a byte or "%#04x" for a short), but it's not really a burr in my saddle.

-tkc



--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to