[英]How to convert dec to hex in python?
当我尝试转换大数字时,我会在最后得到额外的数字,它们不会移动,再加上一个 L 字符。 如何删除 000L 末尾的 4 个额外字符?
8b8dbbc584d9c000L
8b8dc4ddd34c6000L
8b8dcdf621bf0000L
8b8dd70e7031a000L
8b8de026bea44000L
#!/usr/bin/python
import sys
def int_tuple_from_cmdline():
"""return exactly two integers form sys.argv
or die with an error message
"""
import sys
args = sys.argv[1:] # drop first entry (progpath)
if len(args) != 2:
raise SystemExit("\n#################################################\n# Please enter both a
start and stop parameter. #\n#################################################")
for i in range(len(args)):
try:
args[i] = int(args[i])
except ValueError:
raise SystemExit("\n#################################################\n# Parameter %d is not an integer. You entered: %s #\n#################################################\n" %(i+1,args[i]))
return tuple(args)
start, stop = int_tuple_from_cmdline()
r = start - 10000000000000
while r < stop:
r = r + 50000000000000
hx = hex(r)[2:]
print(hx)
如果您所追求的只是删除字符串的最后四个字符,则可以使用切片来执行它:
s = "8b8dbbc584d9c000L"
trimmed = s[:-4] #8b8dbbc584d9c
请注意,如果原始字符串没有至少四个字符,它将产生一个空字符串。
另请注意,我的答案与从十进制到十六进制本身的转换无关,我只是在回答它的修剪部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.