Python ตอนที่ 13 การแปลงชนิดข้อมูล

บางทีเราอาจจะต้องการแปลงชนิดข้อมูลจากชนิดหนึ่งไปเป็นชนิดหนึ่ง เช่น แปลงจาก int ไปเป็น float เป็นต้น ซึ่งในไพธอน สามารถทำได้ด้วยวิธีที่เรียกว่า Casting โดยจะใช้ Constructor functions ในการทำงาน ดังนี้

  • int() แปลงข้อมูลเป็นชนิด int โดยสามารถแปลงข้อมูลจากประเภท int, float และ string (เฉพาะสตริงที่เป็นตัวเลข)
  • float() แปลงข้อมูลเป็นชนิด float โดยสามารถแปลงข้อมูลจากประเภท int, float และ string (เฉพาะสตริงที่เป็นตัวเลข)
  • string() แปลงข้อมูลเป็นชนิด string โดยสามารถแปลงข้อมูลจากชนิดอื่น ๆ ได้หลากหลาย เช่น ข้อมูลชนิดข้อความ, ข้อมูลตัวเลขจำนวนเต็ม, ข้อมูลชนิดตัวเลขทศนิยม เป็นต้น

ตัวอย่างการใช้งาน int()

int() ใช้สำหรับแปลงข้อมูลชนิดอื่น ๆ ให้เป็น integer โดยสามารถแปลงข้อมูลชนิด int, float, หรือ string ที่เป็นสตริงตัวเลข ดังตัวอย่าง

a = int(55)     # a will be 55
b = int(72.85)  # b will be 72
c = int("300")  # c will be 300

print(a)
print(b)
print(c)
  • บรรทัดที่ 1 ตัวแปร a จะมีค่าเป็น 55 เพราะแปลงค่าจาก int มาเป็น int คือชนิดข้อมูลเดียวกัน ค่าจะไม่เปลี่ยน
  • บรรทัดที่ 2 ตัวแปร b จะมีค่าเป็น 72 เพราะแปลงค่าข้อมูลจากชนิดทศนิยม float มาเป็นจำนวนเต็ม int จุดทศนิยมและตัวเลขทศนิยมจะถูกตัดออกไป
  • บรรทัดที่ 3 ตัวแปร c จะมีค่าเป็น 300 เพราะแปลงค่ามาจากสตริงที่เป็นตัวเลขจำนวนเต็ม

จากโค้ดตัวอย่าง ค่าของตัวแปร a, b, c จะมีค่าเป็น 55, 72, 300 ตามลำดับ

ตัวอย่างการใช้งาน float()

float() ใช้สำหรับแปลงค่าข้อมูลจากข้อมูลชนิดอื่นมาเป็นตัวเลขทศนิยม float โดยสามารถแปลงค่าจากข้อมูลประเภทตัวเลขจำนวนเต็ม (int) ตัวเลขทศนิยม (float) และอักขระ (string) ที่เป็นข้อความตัวเลข ดังตัวอย่าง

a = float(55)     # a will be 55.0
b = float(72.85)  # b will be 72.85
c = float("300")  # c will be 300.0
e = float("23.45")  # e will be 23.45
print(a)
print(b)
print(c)
print(e)
  • บรรทัดที่ 1 ตัวแปร a จะมีค่าเป็น 55.0 เพราะแปลงค่ามาจากตัวเลขจำนวนเต็ม (int) เมื่อแปลงเป็นเลขทศนิยม จะมีทศยมเป็น 0 เสมอ
  • บรรทัดที่ 2 ตัวแปร b จะมีค่าเป็น 72.85 เพราะแปลงมาจากตัวเลขทศนิยม ค่าจึงไม่เปลี่ยนแปลง
  • บรรทัดที่ 3 ตัวแปร c จะมีค่าเป็น 300 เพราะแปลงมาจากสตริงที่เป็นตัวเลขจำนวนเต็ม เมื่อแปลงเป็นตัวเลขทศนิยม จะมีทศนิยมเป็น 0 เสมอ
  • บรรทัดที่ 4 ตัวแปร e จะมีค่าเป็น 23.45 เพราะแปลงค่ามาจากสตริงที่เป็นตัวเลขทศนิยม จะได้ค่าคงเดิมที่เปลี่ยนชนิดข้อมูลเป็น float

จากโค้ดตัวอย่าง ตัวแปร a, b, c, e จะมีค่าเป็น 55.0, 72.85, 300.0, 23.45 ตามลำดับ

ตัวอย่างการใช้งาน str()

str() ใช้สำหรับแปลงค่าข้อมูลจากชนิดอื่น ๆ มาเป็นข้อมูลชนิดสตริง โดยสามารถแปลงค่าจากข้อมูลประเภท int, float, str เป็นต้น ดังตัวอย่าง

a = str(55)     # a will be '55'
b = str(72.85)  # b will be '72.85'
c = str("XYZ300")  # c will be 'XYZ300'
print(a)
print(b)
print(c)
  • บรรทัดที่ 1 ตัวแปร a จะมีค่าเป็นข้อความ ’55’
  • บรรทัดที่ 2 ตัวแปร b จะมีค่าเป็นข้อความ ‘72.85’
  • บรรทัดที่ 3 ตัวแปร c จะมีค่าเป็นข้อความ ‘XYZ300’