Like other programming languages, there is no concept of float numbers in JavaScript. It just has one data type Number
for all positive, negative integers, and decimal numbers.
Let me just show you the type of a float and integer using the typeof
operator:
console.log(typeof(10)); // Output: number console.log(typeof(10.25)); // Output: number
From the above example, it is clear that the typeof
operator always returns 'number'
for all integers and decimal values. Therefore, we can’t directly use it to check if the number is float or not.
Well, there is a very helpful method Number.isInteger()
which lets you know whether the passed value is an integer or not.
The Number.isInteger()
method returns true if the passed number is an integer otherwise it returns false. We can use this method in combination with the typeof
operator and isNaN()
method to check if the given number is float or integer.
Here is the implementation:
// JavaScript program to check if given number is float or integer function checkType(val){ // First check if given val is a valid number if(typeof(val)==='number' && !isNaN(val)){ // Check if val is an integer if(Number.isInteger(val)){ console.log(`${val} is a an integer.`); } else{ console.log(`${val} is a float.`); } } else{ console.log(`${val} is not a valid number.`); } } checkType(10); // 10 is a an integer. checkType(10.25); // 10.25 is a float. checkType(0.54); // 0.54 is a float. checkType('10ab'); // 10ab is not a valid number.
Second Approach – Using Remainder(%) operator
You can also use the remainder(%) operator to check if the given number is an integer or float.
You have to just check if number%1
is equals to 0 or not. If it equals to 0, the given number is an integer, otherwise, it’s a float number.
Below is the implementation of this approach:
// JavaScript program to check if given number is float or integer function checkType(val){ // First check if given val is a valid number if(typeof(val)==='number' && !isNaN(val)){ // Check if val is an integer if(val%1===0){ console.log(`${val} is a an integer.`); } else{ console.log(`${val} is a float.`); } } else{ console.log(`${val} is not a valid number.`); } } checkType(10); // 10 is a an integer. checkType(10.25); // 10.25 is a float. checkType(0.54); // 0.54 is a float. checkType('10ab'); // 10ab is not a valid number.