我想尝试在一堆零之间抓取十六进制值并将其转换为十进制。这里有一个示例:'00000000002E3706400000'。所以我只想抓取"2E37064",而忽略它周围的其他东西。我知道使用int()
函数将其转换为十进制,但是当我这样做时,它包含了实际十六进制值后面的前导零。下面是我的代码示例:
hex_val = '00000000002E3706400000'
dec_val = int(hex_val, 16)
print(dec_val)
然后输出:
50813862936576
实际值是:
48459876
是否有最优的方法来实现这一点?
您可以使用.strip()
函数来删除前导零和尾部零(尽管从技术上讲,这里不需要删除前导零):
int(hex_val.strip('0'), 16)
这个输出:
48459876