# How to Check if a Number is Float or Integer in JavaScript?

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.
```