如何将”46011ff”字符串转换为数字

对于整数,使用int()函数来把字符串转换为整型数字。它的函数原型为:

int(x=0) -> integer
int(x, base=10) -> integer

将字符串转换为数字,使用第二种形式,它有两个参数, 分别为字符串和进制数字。如果不传递进制数字,默认按十进制进行转换。 如果转换不成功将抛出ValueError异常。

>>> int("46011ff")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '46011ff'

>>>int(“46011ff”, 16) 73404927

“46011ff”是16进制数字,因此传递16,表示十六进制。

如果不传递进制数,默认均被按十进制进行转换,如果base被指定为0, 则会按python的规则来解释:开头为一个 ‘0’ 表示八进制,而 ‘0x’ 表示十六进制。

如何将一个数字转换成一个字符串呢?

可以使用自带函数str()将一个数字转换为字符串。如果你想要按八进制 或者十六进制进行转换,可以用oct()或hex()。例如:

>>> str(10)
'10'
>>> hex(10)
'0xa'