วันอังคารที่ 10 สิงหาคม พ.ศ. 2553

VBA Excel ตอน ชนิดของข้อมูล (Data type)

วันนี้ย้อนกลับไปยังความรู้พื้นฐานของการเขียนโปรแกรม โดยสิ่งแรกที่ควรเรียนรู้คือ ชนิดของข้อมูล ท่านผู้อ่านจะเห็นว่าบทความที่ผ่านมาผมได้แสดงตัวอย่างการแก้ปัญหาในทางวิศวกรรมด้วยการใช้ฟังก์ชันและเขียน macro ใน Excel ซึ่งในโค้ดเหล่านั้นก็จะมีการกำหนดชนิดของข้อมูลต่างๆที่ถูกนำไปใช้ในการประมวลผลตามคำสั่ง ผมขอแสดงตารางชนิดของข้อมูลและขอบเขตการใช้งานของข้อมูล เนื่องจากว่า หากเลือกใช้งานข้อมูลผิดประเภทหรือไม่เหมาะสมแล้ว อาจก่อให้เกิดข้อผิดพลาดในการทำงานของชุดโปรแกรมได้ครับ

ประเภท ชนิดข้อมูล ใช้พื้นที่ในหน่วยความจำ(ไบต์) ขอบเขตข้อมูลที่ใช้
ตัวเลข Byte 1 จำนวนเต็มระหว่าง 0 - 255
  Integer 2 จำนวนเต็มระหว่าง –32,768 – 32,767
  Long 4 จำนวนเต็มระหว่าง –2,147,483,648 ถึง 2,147,483,647
  Single 4 เลขทศนิยมระหว่าง –3.4028235E+38 ถึง –1.401298E-45
(กรณีค่าลบ)
1.401298E-45 ถึง 3.4028235E+38 
(กรณีค่าบวก)
  Double 8 เลขทศนิยมระหว่าง –1.79769313486231570E+308 ถึง –4.94065645841246544E-324 (กรณีค่าลบ)

4.94065645841246544E-324 ถึง1.79769313486231570E+308
(กรณีค่าบวก)
  Currency 8 -922,337,203,685,477.5808 ถึง 922,337,203,685,477.5807
ข้อความ String 10 + ความยาว String เป็นข้อความมีความยาวตั้งแต่ 0 ถึง 2 พันล้านตัวอักษรซึ่งกำหนดค่าในเครื่องหมาย “ “ เช่น “Excel”
วันและเวลา Date 8 วันระหว่าง 1 มค คศ 100 ถึง 31 ธค คศ 9999 และเวลาระหว่าง 0:00:00 ถึง 23:59:59
Logic Boolean 2 True กับ False
ไม่กำหนดชนิด Variant ไม่แน่นอน ขึ้นอยู่กับค่าที่ใช้เก็บ
กำหนดโดยผู้ใช้

Object
User-define


Object
ไม่แน่นอน


4
ขึ้นอยู่กับผู้ใช้กำหนด


สำหรับ Object

 

จากตารางหากเราจะเห็นว่าชนิดข้อมูลแต่ละชนิดใช้พื้นที่ในหน่วยความจำในการจัดเก็บไม่เท่ากัน บางครั้งเราไม่มีความจำเป็นต้องใช้ชนิดข้อมูลที่ต้องใช้พื้นที่ใหญ่มาก เช่น ข้อมูลอายุของคน ซึ่งคงไม่เกิน 200 ปี เราอาจใช้ข้อมูลชนิด Integer หรือ byte ก็เพียงพอแล้วเป็นต้น

แม้ว่าท่านผู้อ่านหลายคนอาจจะมองว่าในปัจจุบันหน่วยความจำของคอมพิวเตอร์มีขนาดใหญ่มากไม่น่าจะก่อให้เกิดปัญหานี้ แต่อย่าลืมว่าคอมพิวเตอร์ของเรามิได้ประมวลผลข้อมูลเฉพาะโปรแกรมเราอย่างเดียว ซึ่งอาจก่อให้เกิดปัญหาหน่วยความจำไม่พอขึ้นได้ ดังนั้นการกำหนดชนิดข้อมูลที่เหมาะสมยังมีความจำเป็นและเป็นการฝึกวิเคราะห์โจทย์ปัญาในเบื้องต้นได้ดีอีกด้วย ขอจบการนำเสนอเพียงเท่านี้สวัสดีครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Yahoo bot last visit powered by  Ybotvisit.com