次の形式で10進数を16進数に変換する方法(0xプレフィックスなしで、ゼロが埋め込まれた少なくとも2桁)?
入力:255
出力:ff
入力:2
出力:02
hex(int)[2:]
を試しましたが、最初の例は表示されますが、2番目の例は表示されないようです。
format()
function を'02x'
形式で使用します。
>>> format(255, '02x')
'ff'
>>> format(2, '02x')
'02'
02
部分は、format()
に少なくとも2桁を使用し、ゼロを使用して長さを埋めるように指示します。x
は小文字の16進数を意味します。
Format Specification Mini Language は、大文字の16進出力のX
も提供し、フィールド幅の前に#
を含めることができます0x
または0X
プレフィックス(フォーマッターとしてx
またはX
を使用したかどうかに応じて)。これらの余分な2文字を考慮して、フィールド幅を調整する必要があることを考慮してください。
>>> format(255, '02X')
'FF'
>>> format(255, '#04x')
'0xff'
>>> format(255, '#04X')
'0XFF'
私はこれがあなたが望むものだと思う:
>>> def twoDigitHex( number ):
... return '%02x' % number
...
>>> twoDigitHex( 2 )
'02'
>>> twoDigitHex( 255 )
'ff'