How to check whether a number is finite or not in JavaScript?

In JavaScript, the isFinite() method checks whether a value is a finite number. It returns true for finite numbers and false for infinite values, NaN, or non-numeric values.

Syntax

isFinite(value)

Parameters:

  • value - The value to be tested for finiteness

Return Value: Returns true if the value is finite, false otherwise.

Example 1: Basic Usage

Here's a function that demonstrates basic usage of isFinite():

<html>
<head>
   <title>Check Finite Numbers</title>
</head>
<body>
   <p>Checking division results:</p>
   <p id="result"></p>
   <script>
      function checkDivision(a) {
         if (isFinite(1/a)) {
            return "1/" + a + " is finite";
         } else {
            return "1/" + a + " is not finite (infinity)";
         }
      }
      
      document.getElementById('result').innerHTML = 
         checkDivision(770) + '<br/>' + 
         checkDivision(0);
   </script>
</body>
</html>
1/770 is finite
1/0 is not finite (infinity)

Example 2: Values that Return true

These examples show cases where isFinite() returns true:

<html>
<head>
   <title>Finite Values</title>
</head>
<body>
   <p>Examples where isFinite() returns true:</p>
   <p id="result"></p>
   <script>
      var results = [
         'isFinite(12): ' + isFinite(12),
         'isFinite(-12): ' + isFinite(-12),
         'isFinite(0): ' + isFinite(0),
         'isFinite(1.2): ' + isFinite(1.2),
         'isFinite(2000*3000): ' + isFinite(2000*3000)
      ];
      
      document.getElementById('result').innerHTML = results.join('<br/>');
   </script>
</body>
</html>
isFinite(12): true
isFinite(-12): true
isFinite(0): true
isFinite(1.2): true
isFinite(2000*3000): true

Example 3: Values that Return false

These examples show cases where isFinite() returns false:

<html>
<head>
   <title>Non-Finite Values</title>
</head>
<body>
   <p>Examples where isFinite() returns false:</p>
   <p id="result"></p>
   <script>
      var results = [
         'isFinite(NaN): ' + isFinite(NaN),
         'isFinite("hello"): ' + isFinite("hello"),
         'isFinite(22/0): ' + isFinite(22/0),
         'isFinite(Infinity): ' + isFinite(Infinity),
         'isFinite(-Infinity): ' + isFinite(-Infinity)
      ];
      
      document.getElementById('result').innerHTML = results.join('<br/>');
   </script>
</body>
</html>
isFinite(NaN): false
isFinite("hello"): false
isFinite(22/0): false
isFinite(Infinity): false
isFinite(-Infinity): false

Key Points

  • isFinite() performs type coercion - strings containing valid numbers are converted to numbers first
  • Returns false for NaN, Infinity, -Infinity, and non-numeric strings
  • Zero is considered finite and returns true
  • For stricter checking without type coercion, use Number.isFinite()

Conclusion

The isFinite() method is essential for validating numeric calculations and preventing infinite values in your code. Use it to ensure mathematical operations produce valid, finite results.

Updated on: 2026-03-15T23:18:59+05:30

464 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements