Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

แปลง Hex String เป็น Decimal ใน Python

โจทย์: แปลงสตริงเลขฐานสิบหก (Hexadecimal) เป็นเลขฐานสิบ (Decimal)

วิธีที่ 1: ใช้ int() built-in (แนะนำ)

int(hex_string, 16) แปลงโดยระบุฐาน 16

string = 'F'
res = int(string, 16)
print("The decimal number associated with hexadecimal string is : " + str(res))
# Output: 15

วิธีที่ 2: ใช้ ast.literal_eval

ต้องมี prefix 0x นำหน้า

from ast import literal_eval

test_string = '0xF'
res = literal_eval(test_string)
print("The decimal number of the hexadecimal string is : " + str(res))
# Output: 15

เปรียบเทียบ

วิธีรูปแบบ Inputความยืดหยุ่น
int(s, 16)'F', 'ff', '1A3'สูง - ไม่ต้องมี prefix
literal_eval'0xF', '0xff'ต่ำ - ต้องมี 0x prefix

แนะนำ: ใช้ int(hex_string, 16) เป็นหลัก รองรับทั้งพิมพ์ใหญ่/เล็ก ไม่ต้อง prefix