String Numbers

ก่อนจะใช้ตัวแปรใดๆ เราต้องประกาศชนิดของข้อมูลเสมอ เช่น

    Dim n As Integer
    Dim raw, out As String
    Dim r As Decimal = 0.2325

ตัวแปรที่ไม่ถูกำหนดค่าตั้งแต่เริ่ม จะมีค่าเป็นค่าตั้งต้นของมัน เช่น n ในตัวอย่างนี้จะมีค่าเริ่มต้นเป็น 0


ตัวแปรแบบตัวเลข มี 2 แบบหลักๆ คือจำนวนเต็มกับทศนิยม สำหรับจำนวนเต็มมีค่าดังนี้

ค่าต่ำสุด ชนิด ค่าสูงสุด
0 Byte 255
-32,768 Short 32,767
-2,147,483,648 Integer 2,147,483,647
-9,223,372,036,854,775,808 Long 9,223,372,036,854,775,807

และสำหรับทศนิยม

ชนิด ค่าเล็กสุด (ที่ไม่ใช่ 0) ค่าใหญ่สุด
Single +/-1.401298E-45 +/-3.402823E+38
Double +/-4.94065645841246544E-324 +/-1.79769313486231E+308
Decimal +/-0.0000000000000000000000000001 +/-79,228,162,514,264,337,593,543,950,335

ทั้งนี้ สำหรับทศนิยม 2 แบบแรกนั้น มันเก็บความแม่นยำของค่าต่างๆ ในตำแหน่งทศนิยมได้ไม่ละเอียดนัก ในกรณีที่ต้องการทศนิยมความละเอียดมากๆ อาจพิจรณาใช้ตัวแปรแบบ Decimal (แบบสุดท้าย) แทน

และในการประกาศตัวแปรแบบตัวเลขนั้น เรามามารถเขียน E แทนการคูณด้วยสิบยกกำลังได้ด้วย

    Dim planck As Double = 8.5E+184

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


สำหรับการประกาศตัวแปรแบบค่าคงที่ เปลี่ยนจาก Dim เป็น Const

    Const max As Integer = 42
    Const min As Integer = 24

ส่วนตัวแปรแบบข้อความ มี Char (อักษรตัวเดียว) กับ String (ข้อความอักษร)

    Dim c As Char
    Dim t As String

    c = "C"
    t = "Caesar"

การกำหนดค่าของ Char ด้วยข้อความจะส่งผลลัพท์คืนกลับมาเป็นตัวอักษรตัวแรกของข้อความนั้น และเราไม่สามารถกำหนดค่าตัวเลขลงไปให้มันตรงๆ ได้ แต่ส่วนตัวแปรแบบ String สามารถกำหนดค่าของตัวเลขลงไปได้ ซึ่งจะได้ผลลัพท์ออกมาเป็นตัวเลขนั้นๆ ไม่ใช่ตัวอักษรตามตำแหน่ง ASCII นะครับ

ทั้งนี้ ตัวแปรแบบ String ไม่สามารถแทรก escape char อย่างเช่น \n ลงไปในข้อความระหว่าง " ... " ได้ ส่วนการแทรกเครื่องหมาย “ (double quote) ให้ใส่ “” เข้าไปครับ

    t = "I said ""Caesar""."
    ' output: I said "Caesar".

Nattawut Phetmak

Jack of all Trades

blog comments powered by Disqus