【问题标题】:How to convert decimal to hex in string format [duplicate]如何以字符串格式将十进制转换为十六进制[重复]
【发布时间】:2019-09-26 14:51:03
【问题描述】:

您好,假设我有 5 个十进制数字。如何先将它们转换为十六进制,然后再转换为字符串。是否有任何内置功能?我在下面尝试过

numbers = [123,46,0,11,6]
for number in numbers:
    print(hex(number).lstrip("0x").upper())

预期输出是

7B
2E
00
0B
06

但结果是

7B
2E

B
6

【问题讨论】:

  • strip 将删除您作为参数提供的字符串中的所有字符。所以"0x00".strip("0x") 会给你一个空字符串。只需像hex(number)[2:] 那样对字符串进行切片

标签: python string


【解决方案1】:

添加zfill:

numbers = [123,46,0,11,6]
for number in numbers:
    print(hex(number).lstrip("0x").zfill(2).upper())

【讨论】:

  • 格式更简单:format(number, "02X").
  • 不错。这值得单独回答。
猜你喜欢
  • 2022-07-08
  • 2011-05-15
  • 1970-01-01
  • 1970-01-01
  • 2011-08-25
  • 2014-04-28
  • 2019-01-17
  • 2016-12-27
  • 2018-01-22
相关资源
最近更新 更多