10進数を16進数に変換するにはどうすればよいですか?Pythonの16進数
入力:255
出力:ff
入力:2
出力:02
私はhex(int)[2:]
を試みたが、最初の例ではなく、二番目に表示されていることと思われます。
10進数を16進数に変換するにはどうすればよいですか?Pythonの16進数
入力:255
出力:ff
入力:2
出力:02
私はhex(int)[2:]
を試みたが、最初の例ではなく、二番目に表示されていることと思われます。
'02x'
フォーマットのformat()
functionを使用してください。
>>> format(255, '02x')
'ff'
>>> format(2, '02x')
'02'
02
部分はx
は小文字の16進数を意味し、少なくとも2桁の数字を使用し、長さのパッドにそれをゼロを使用するformat()
を伝えます。
Format Specification Mini Languageはまた、大文字の六角出力用X
与え、あなたは(あなたがx
やX
フォーマッタなどを使用天気をによって異なります)0x
または0X
接頭辞を含めること#
でフィールド幅の前に付けることができます。
>>> format(255, '02X')
'FF'
>>> format(255, '#04x')
'0xff'
>>> format(255, '#04X')
'0XFF'
ありがとう!良い説明。 –
大文字の16進数の出力を使用するようにフォーマットを設定すると、16進数の接頭辞に大文字の "X"が付きます。これはあなたの例ではそうではないようです。これは私のローカルバージョンのPythonの問題ですか?私はバージョン2.7.9を使用しています。 – jwp36
@ jwp36:いいえ、私の答えは間違っていましたが、修正されました。謝罪いたします。 –
を私は、これはあなたが欲しいものだと思う:ちょうどあなたがそれらの余分2つの文字を可能にするために、フィールドの幅を調整する必要があることを考慮に入れる
>>> def twoDigitHex(number):
... return '%02x' % number
...
>>> twoDigitHex(2)
'02'
>>> twoDigitHex(255)
'ff'
最初の答えは最高ですが、私は古風な答えを持っていますが、機能
>>> "".join(list(hex(255))[2:])
'ff'
別の回答と同じように、これはゼロパッドではありません。例えば、 '' ".join(list(hex(2))[2:])'は '' 02 ''ではなく '' 2 ''と評価されます。 – therealrootuser
これは、質問の 'hex(int)[2:]'と同義です。なぜあなたは再びそれに参加するだけのリストを作るのですか? – wjandrea
あなたはすでに良いことがあることに同意すれば、なぜこの回答を投稿しますか? – ryry1985
[あなたは試してみましたか?](http://whathaveyoutried.com)私はこの質問をdownvoted理由:http://meta.stackexchange.com/a/149138/133242 –
私はhex(int)[2 :]しかし、最初の例は表示されますが、2番目の例は表示されないようです。 –
私はそれを手に入れました!ありがとう –