ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาตามที่ระบุด้านล่าง
แจ้งปัญหา − เราได้รับสตริงเลขฐานสิบหก เราต้องแปลงเป็นค่าทศนิยมเทียบเท่า
เรามีวิธีแก้ปัญหาสองวิธี:
- แนวทางกำลังเดรัจฉาน
- การใช้โมดูลในตัว
วิธีเดรัจฉาน
เราใช้ความช่วยเหลือเกี่ยวกับฟังก์ชันการแคสต์ประเภทที่ชัดเจน เช่น จำนวนเต็ม ฟังก์ชันนี้รับสองอาร์กิวเมนต์ นั่นคือ เทียบเท่าฐานสิบหกและฐานเช่น (16) ฟังก์ชันนี้ใช้เพื่อแปลงสตริงฐานสิบหกให้เป็นทศนิยมที่เทียบเท่ากันในประเภทจำนวนเต็ม ซึ่งสามารถพิมพ์กลับเป็นรูปแบบสตริงเพิ่มเติมได้
ตัวอย่าง
#input string string = 'F' # converting hexadecimal string to decimal res = int(string, 16) # print result print("The decimal number associated with hexadecimal string is : " + str(res))
ผลลัพธ์
The decimal number associated with hexadecimal string is: 15
การใช้โมดูล "ast" ในตัว
ที่นี่เราใช้ฟังก์ชัน literal_eval ที่มีอยู่ในโมดูล ast เราสามารถทำนายฐานของค่าเทียบเท่าเลขฐานสิบหกที่กำหนด แล้วแปลงเป็นค่าเทียบเท่าทศนิยม ที่นี่เราใช้แนวคิดของการประเมินตามตัวอักษร
ตัวอย่าง
# using built-in module literal_eval from ast import literal_eval # initializing string test_string = '0xF' # converting hexadecimal string to decimal res = literal_eval(test_string) # print result print("The decimal number of the hexadecimal string is : " + str(res))
ผลลัพธ์
The decimal number of the hexadecimal string is: 15
ตัวแปรทั้งหมดได้รับการประกาศในขอบเขตท้องถิ่นและการอ้างอิงของตัวแปรนั้นดูได้จากรูปด้านบน
บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับการแปลงสตริงฐานสิบหกให้เป็นทศนิยมเทียบเท่า