developer tip

Python 16 진수

copycodes 2020. 11. 7. 10:14
반응형

Python 16 진수


다음 형식으로 십진수를 16 진수로 변환하는 방법은 무엇입니까 (0x 접두사없이 두 자리 이상, 0으로 채워짐)?

입력 : 255출력 :ff

입력 : 2출력 :02

시도 hex(int)[2:]했지만 첫 번째 예제는 표시되지만 두 번째 예제는 표시되지 않는 것 같습니다.


형식 과 함께 format()함수사용하십시오 '02x'.

>>> format(255, '02x')
'ff'
>>> format(2, '02x')
'02'

02부분은 format()최소 2 자리 숫자를 사용하고 0을 사용하여 길이를 채우도록 지시합니다. x이는 소문자 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'

또 다른 해결책은 다음과 같습니다.

>>> "".join(list(hex(255))[2:])
'ff'

아마도 구식 대답이지만 기능적입니다.

참고 URL : https://stackoverflow.com/questions/14678132/python-hexadecimal

반응형