[英]How do I get hex() to print the full hex value in Python?
假设我有2个十六进制值,这些值是从键盘输入中获取的。
例如val1 = 0x000000和val2 = 0xFF0000
而我
print(hex(val1))
print(hex(val2))
我得到了val2的正确输出,但是val1仅为0x0,如何获取它以打印整个值?
我说的是整个值,如果输入的值是0x000000,我想将值输出为0x000000而不是0x0。
您可以使用ljust
方法将十六进制值填充到指定的位数。
每当字符串小于指定的宽度时,它将附加指定的填充符以扩展它。
在您的示例示例中, hex(0x0).ljust(8, '0') == "0x000000"
。 保留已经足够长的字符串,以便0xFF0000仍然有效。
print(hex(0x000000).ljust(8, '0')) # Prints 0x000000
print(hex(0xFF0000).ljust(8, '0')) # Prints 0xFF0000
过去困扰我的几件重要事情:
ljust
函数运算符对原始文本进行操作,而没有意识到这是一个十六进制字符串 len(hex(0xFF0000).ljust(4, '0')) != len(hex(0xFF0000).ljust(4, '0'))
因为您需要8个字符的长度才能适合这两种情况 您说用户在键盘上输入了此输入。 这意味着您已经从所需的字符串开始 ,但是您已经从输入中解析出整数并丢弃了字符串。
不要那样做 保持弦。 如果需要进行数学运算,也可以解析整数,但要保留字符串。 那你就可以做
print(original_input)
无需经过重建过程即可猜测最初输入了多少个前导零。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.