Type conversions

Implicit conversion

Implicit conversion เป็นการแปลงข้อมูลของภาษา C ที่คอมไพเลอร์จะทำหน้าที่แปลงให้อัตโนมัติ เช่น การกำหนดค่าให้กับตัวแปร ที่คุณได้เห็นในบทที่ผ่านมา

int a = 10.5;  // 10
short b = 4; // 4
float c = a / b; // 2.5

ในตัวอย่าง เราได้ประกาศตัวแปรมา 3 ตัวแปร ตัวแปรแรก a ถึงแม้ว่าเรากำหนดค่าให้กับตัวแปรเป็น 10.5 แต่ เพราะว่าตัวแปร a มีประเภทเป็น integer ซึ่งคอมไพเลอร์จะตรวจสอบและแปลงค่าอัตโนมัติ สำหรับตัวแปร b ถึงแม้ 4 เป็นค่าของ short คอมไพลเลอร์ก็ยังคงตรวจสอบเพื่อที่จะกำหนดค่าให้ตัวแปร b ในตัวแปร c เราได้กำหนดค่าให้กับตัวแปรโดยเป็นค่าของ a/b

Type casting

ในภาษา C เราสามารถแปลงข้อมูลโดยการใช้วิธีการ type-casting โดยสามารถทำได้สองแบบคือ แบบ functional และเราสามารถได้ทั้งสองวิธี โดยรูปแบบการใช้งานจะต่างกันดังนี้

float a = 8.5;
int x = int (a); // functional
int y = (int) a; // c-like

ในตัวอย่างเป็นการแปลงข้อมูลประเภท floating ไปเป็นประเภท integer โดยแบบแรกในคำสั่ง int (a) เป็นการใช้การแปลงแบบ functional และแบบที่สองคำสั่ง (int) a เป็นแบบ c-like เราสามารถใช้วิธีไหนก็ได้ ซึ่งจะได้ผลลัพธ์เหมือนกัน โดยการใช้สองคำสั่งดังกล่าว จะแปลงตัวเลข 8.5 เป็น 8 มาดูตัวอย่างเพิ่มเติม

float m = 3.125;
float n = m - (int) m; // 0.125
printf("pointing number is %f", n);

ในตัวอย่างเป็นการหาค่าทศนิยมของตัวเลข โดยเราจะใช้ตัวเลขปัจจุบันลบจำนวนเต็มของมัน โดยการใช้ type-casting ได้

ในบทนี้ คุณได้เรียนเกี่ยวกับการแปลงค่าของข้อมูล ซึ่งมันมีประโยชน์ในด้านต่างๆ อีกมากมาย


บทความเกี่ยวกับ Type conversions

Type Conversions ในภาษา Java

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับการแปลงข้อมูลในภาษา Java เพื่อที่จะแปลงข้อมูลจากประเภทหนึ่งไปยังอีกประเภทหนึ่ง เพื่อนำไปใช้ในสถานการณ์ต่างๆ ในการเขียนโปรแกรม เ...

Type conversions ในภาษา C++

Implicit conversion เป็นการแปลงข้อมูลมาตรฐานที่จะทำอัตโนมัติเมื่อตัวแปรหนึ่งถูกคัดลอกไปยังตัวแปรหนึ่ง เราได้เห็นมาแล้วในหลายๆ ตัวอย่างที่ผ่านมาint a = 10.5; sh...