Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีตรวจสอบว่าเลขมีทศนิยมหรือเป็นจำนวนเต็มใน JavaScript

ใช้เมธอด Math.floor() ตรวจสอบว่าเลขมีทศนิยมหรือไม่ เปรียบเทียบค่าเดิมกับค่าที่ปัดทิ้งทศนิยม

ตัวอย่าง

<html>
  <head>
    <title>JavaScript Numbers</title>
  </head>
  <body>
    <script>
      var num = 10.2;
      if (num == Math.floor(num)) {
        alert("Whole Number");
      } else {
        alert("Decimal Number");
      }
    </script>
  </body>
</html>

วิธีอื่นๆ (Modern & Better)

วิธีโค้ดคำอธิบาย
Number.isInteger() (ES6)Number.isInteger(num)true ถ้าเป็น integer, false ถ้า decimal/NaN/Infinity
Modulo operatornum % 1 === 0เศษจากการหาร 1 เป็น 0 = integer
Bitwise OR(num | 0) === numแปลงเป็น 32-bit int แล้วเปรียบเทียบ (รวดเร็วแต่จำกัดขนาด)

ตัวอย่าง Number.isInteger()

Number.isInteger(10);     // true
Number.isInteger(10.2);   // false
Number.isInteger(-5);     // true
Number.isInteger(NaN);    // false
Number.isInteger(Infinity); // false

แนะนำ: ใช้ Number.isInteger() เพราะอ่านง่าย มาตรฐาน ES6 และจัดการ edge cases ถูกต้อง