Is there no function to convert a hex number to decimal?
Markus Gritsch
gritsch at iue.tuwien.ac.at
Mon Jul 3 06:14:20 EDT 2000
Markus Gritsch wrote:
> Hi!
>
> Although there are several built in functions to convert numbers from
> decimal to hex or oct, it seems that there is no function which can do
> the same in the reverse direction. Of course I can write 0xff, but
> what should I do, if I have a string containing a hex value?
> Currently I use this brute code:
>
> hex_dec = {}
> for i in range(256):
> hex_dec[hex(i)[2:]] = i
>
> def dec(hex_string):
> return hex_dec[string.lower(hex_string)]
>
> But I am not entirely happy with it, because I have to generate this
> clumsy dict, and the function works only for two-digit-hex-numbers.
>
> Is there really no other way?
I found the solution in the string module:
atoi (s[, base]) and atol (s[, base])
BTW, these functions will become obsolete in python 2.0, because there will be an
optional "base" argument to the built-in functions long() and int()
--
|\/\/\/|
/------------------------------------------------------------------\ | |
| Markus GRITSCH | phone: +43 / 1 / 58801-36015 | | |
| Institute for Microelectronics | cellular: +43 / 676 / 4973431 | | (o)(o)
| Technical University of Vienna | fax: +43 / 1 / 58801-36099 | C _)
| Gusshausstrasse 27-29 / E360 | email: gritsch at iue.tuwien.ac.at | | ,___|
| A-1040 Vienna / AUSTRIA | SMS: 436764973431 at max.mail.at | | /
\------------------------------------------------------------------/ /____\
/ \
"Computers let you make more mistakes faster than any other invention in human
history, with the possible exception of handguns and tequila."
Mitch Radcliffe
More information about the Python-list
mailing list