How do I know if the calculation generated an integer?

5

How do I know if the calculation generated an integer?

example: if (10 / 2 = NUMERO INTEIRO) {}

    
asked by anonymous 01.09.2014 / 05:16

2 answers

8

parseInt

>
divisao = 10/2;
if( divisao === parseInt( divisao ) )
{    
    alert("10/2 resultou em inteiro")
}
else
{
    alert("10/2 não é um inteiro")
}
    
01.09.2014 / 05:44
9

Another alternative to Papa Charlie's correct response is to see if the rest of the division by 1 is zero.

Using the % operator, and if the number is integer, then divide by 1 must give zero rest.

if ((10 / 2) % 1 == 0) { } // eu sou inteiro!
else { } // eu não sou inteiro!

If you use this feature several times you can do a function for this, for example:

function inteiro(nr) {
    return nr % 1 == 0;
}
console.log(inteiro(10/2)); // true
console.log(inteiro(10/3)); // false
console.log(inteiro(10/4)); // false
console.log(inteiro(10/5)); // true

jsFiddle: link

    
01.09.2014 / 06:28