如何将”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'