如何以下列格式将十进制转换为十六进制(至少两位数,零填充,不带0x前缀)?
输入:255 输出:ff
输入:2 输出:02
我试过,hex(int)[2:]但它似乎显示第一个例子,但不显示第二个例子.
Mar*_*ers 143
使用带格式的format()功能'02x'.
>>> format(255, '02x')
'ff'
>>> format(2, '02x')
'02'
Run Code Online (Sandbox Code Playgroud)
该02部分告诉format()使用至少2位数并使用零来填充它的长度,x意味着小写的十六进制.
的格式规范的迷你语言也给你X大写十六进制输出,并且可以前缀字段宽度与#以包括0x或0X前缀(取决于你阉羊使用x或X作为格式化器).只需考虑您需要调整字段宽度以允许额外的2个字符:
>>> format(255, '02X')
'FF'
>>> format(255, '#04x')
'0xff'
>>> format(255, '#04X')
'0XFF'
Run Code Online (Sandbox Code Playgroud)
Yoa*_*ger 23
我想这就是你想要的:
>>> def twoDigitHex( number ):
... return '%02x' % number
...
>>> twoDigitHex( 2 )
'02'
>>> twoDigitHex( 255 )
'ff'
Run Code Online (Sandbox Code Playgroud)