python2.7 如何去掉长整型结尾符L

时间:2022-02-01 01:50:17
各位好
    请教一个问题,我传入一个C0=-20的值,将C0取绝对值,然后通过一个公式去算,最后转换成16进制,去掉"0x"字符

C0_NCO=str(hex(int(round((1-(abs(C0)/122.88))*pow(2,32))))).split("x")[1]

最后打印出来的结果是 d6555555L,结尾居然多带了一个L,因为我只需要d6555555这个字符串,并不需要L,有没有什么强制函数,默认转换下就可以把这个L给去掉的,我用的Python 版本是2.7,请高手指点,谢谢!

2 个解决方案

#1






C0_NCO= '{0:X}'.format(int(round((1-(abs(C0)/122.88))*pow(2,32))))

>>> '{0:X}'.format(int(round((1-(abs(C0)/122.88))*pow(2,32))))
'D6555555'

不过我提醒你,那个结尾的L是很重要的,表示这个这个long整数 类型已经不是int了
因为int类型所能表示的最大值是 2**31 - 1 = 2147483647
超过这个值Python里就会转换成long型整数,long的大小没有限制,但是末尾加个大写L表示。

#2


谢谢楼上,其实我只需要最后的字符串D6555555,所以必须要去掉L,谢谢你的解答

#1






C0_NCO= '{0:X}'.format(int(round((1-(abs(C0)/122.88))*pow(2,32))))

>>> '{0:X}'.format(int(round((1-(abs(C0)/122.88))*pow(2,32))))
'D6555555'

不过我提醒你,那个结尾的L是很重要的,表示这个这个long整数 类型已经不是int了
因为int类型所能表示的最大值是 2**31 - 1 = 2147483647
超过这个值Python里就会转换成long型整数,long的大小没有限制,但是末尾加个大写L表示。

#2


谢谢楼上,其实我只需要最后的字符串D6555555,所以必须要去掉L,谢谢你的解答