ความเข้าใจในความแตกต่างที่สำคัญระหว่าง Int() และ CInt() ใน ASP/VBScript

เมื่อทำงานกับตัวเลขใน ASP/VBScript มักจะต้องการแปลงหรือจัดการกับข้อมูลตัวเลข ฟังก์ชันสองตัวที่มักปรากฏในบริบทนี้คือ Int() และ CInt() แม้ว่าพวกมันจะดูคล้ายกันในครั้งแรก แต่พวกเขามีวัตถุประสงค์และพฤติกรรมที่แตกต่างกัน ในโพสต์บล็อกนี้เราจะสำรวจความแตกต่างระหว่าง Int() และ CInt() ช่วยให้คุณเข้าใจว่าเมื่อใดควรใช้แต่ละตัว

ภาพรวมของฟังก์ชัน

Int()

  • วัตถุประสงค์: ฟังก์ชัน Int() คืนค่าภาคจำนวนเต็มของหมายเลขที่กำหนด โดยละเลยส่วนเศษทั้งหมด

  • วิธีการทำงาน:

    • หากคุณส่งหมายเลขบวกให้กับ Int() มันจะแค่ลบส่วนทศนิยมออก สำหรับตัวอย่าง Int(3.9) จะคืนค่า 3
    • สำหรับหมายเลขเชิงลบ Int() จะทำงานแตกต่างออกไป เพราะมันจะปัดลงไปทางจำนวนเต็มที่ต่ำกว่าถัดไป ดังนั้น Int(-2.3) จะคืนค่า -3

CInt()

  • วัตถุประสงค์: ฟังก์ชัน CInt() แปลงนิพจน์เป็นประเภท Integer ต่างจาก Int() มันจะปัดจำนวนไปยังจำนวนเต็มที่ใกล้ที่สุด

  • วิธีการทำงาน:

    • สำหรับค่าทศนิยมบวก CInt() จะปัดไปยังจำนวนเต็มที่ใกล้ที่สุด ตัวอย่างเช่น CInt(3.6) จะปัดขึ้นเป็น 4 ในขณะที่ CInt(3.4) จะปัดลงเป็น 3
    • เมื่อจัดการกับค่า .5 ที่แน่นอน CInt() จะปฏิบัติตามกฎ “ปัดไปยังจำนวนคู่ที่ใกล้ที่สุด” หมายถึง:
      • CInt(0.5) คืนค่า 0, และ
      • CInt(1.5) คืนค่า 2

เมื่อใดควรใช้ฟังก์ชันแต่ละตัว

การเลือกใช้ระหว่าง Int() และ CInt() สามารถมีผลกระทบอย่างมากต่อผลลัพธ์ของโปรแกรมของคุณ นี่คือแนวทางบางประการ:

  • ใช้ Int() เมื่อ:

    • คุณต้องการภาคจำนวนเต็มของหมายเลขและต้องการที่จะละเว้นทศนิยมทั้งหมด
    • คุณกำลังทำงานกับตัวเลขเชิงลบและต้องการปัดลง
  • ใช้ CInt() เมื่อ:

    • คุณต้องการให้มีการปัดจำนวนและต้องการตัวเลขทั้งหมดที่ใกล้ที่สุด
    • คุณต้องการแปลงนิพจน์เป็นค่าจำนวนเต็ม โดยใช้กฎการปัดมาตรฐาน

ตัวอย่างเพื่อแสดงความแตกต่าง

  1. ใช้ Int()

    Dim number1, result1
    number1 = 5.7
    result1 = Int(number1) ' result1 จะเป็น 5
    
  2. ใช้ CInt()

    Dim number2, result2
    number2 = 5.7
    result2 = CInt(number2) ' result2 จะเป็น 6
    
  3. หมายเลขเชิงลบ

    Dim number3, result3Int, result3CInt
    number3 = -5.3
    result3Int = Int(number3) ' result3Int จะเป็น -6
    result3CInt = CInt(number3) ' result3CInt จะเป็น -5
    

สรุป

การทำความเข้าใจความแตกต่างระหว่าง Int() และ CInt() เป็นสิ่งสำคัญสำหรับการเขียนโปรแกรมที่มีประสิทธิภาพใน ASP/VBScript ไม่ว่าคุณจะจัดการกับตัวเลขบวกหรือตัวเลขเชิงลบ การรู้ว่าเมื่อใดควรใช้ฟังก์ชันแต่ละตัวสามารถช่วยให้คุณจัดการข้อมูลจำนวนได้อย่างแม่นยำ

สำหรับการอ่านเพิ่มเติมเกี่ยวกับฟังก์ชันเหล่านี้ โปรดตรวจสอบเอกสารอย่างเป็นทางการที่ Int() และ CInt() นอกจากนี้ สำหรับความเข้าใจที่ลึกซึ้งยิ่งขึ้น อ้างอิงจากข้อมูลที่จัดทำโดย MSDN.

จดจำความแตกต่างเหล่านี้ขณะทำงานในโครงการ ASP/VBScript ของคุณ และคุณจะพบว่าการจัดการข้อมูลจำนวนทำนั้นง่ายขึ้น