Velocity Reviews > Re: Using %x to format number to hex and number of digits

# Re: Using %x to format number to hex and number of digits

Chris Rebert
Guest
Posts: n/a

 11-05-2010
On Fri, Nov 5, 2010 at 11:23 AM, Matty Sarro <(E-Mail Removed)> 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
print(oxd)

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

Grant Edwards
Guest
Posts: n/a

 11-05-2010
On Fri, Nov 5, 2010 at 11:23 AM, Matty Sarro <(E-Mail Removed)> 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.

http://docs.python.org/release/2.5.2...q-strings.html

What you're asking for is called "zero padding", so if I were you, I'd
search the above page for the phrase "zero pad".

--
Grant Edwards grant.b.edwards Yow! BARBARA STANWYCK makes
at me nervous!!
gmail.com