
เขียนโปรแกรมภาษา 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 ตามลำดับ
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 ตามลำดับ
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’
55
72.85
XYZ300