Peteryo01223 发表于 2020-1-9 16:04:31

关于format的问题1

我想尝试,先把一个数字从十进制变为十六进制,然后再把它立刻转回为十进制。自娱自乐的设计,毫无实际意义。

Python中尝试如下:

b= '%d' % ('%#x' % 88)
print ('b')

报错了?!

请问:难道结果不应该是 88 么?正确的话,应该怎么写呢?

f-wind 发表于 2020-1-9 16:29:50

b= '%d' % ('%#x' % 88)
‘%d’ % 后面应该紧跟int型,你这里面是str类型
十六转十不能这么直接转,这样弄只是把88的16进制表示58直接以10进制58打印出来了
可以这么用:
b= '%d' % eval('%#x' % 88)
print(b)

Peteryo01223 发表于 2020-1-9 16:40:28

f-wind 发表于 2020-1-9 16:29
b= '%d' % ('%#x' % 88)
‘%d’ % 后面应该紧跟int型,你这里面是str类型
十六转十不能这么直接转,这样 ...

厉害
页: [1]
查看完整版本: 关于format的问题1