정수와 실수를 구분하는 방법은 다음의 3가지 방법을 이용할 수 있습니다.
매개변수의 값이 정수면 true를, 아니면 false를 반환합니다.
// 정수 일때 true
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(77); // true
// 실수 일때 false
Number.isInteger(77.77); // false
Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false
// 기타 false인 값들
Number.isInteger(NaN); // false
Number.isInteger(Infinity); // false
Number.isInteger(-Infinity); // false
Number.isInteger('10'); // false
Number.isInteger(true); // false
Number.isInteger(false); // false
Number.isInteger([1]); // false
정수는 1로 나누었을 때, 나머지가 항상 0이기 때문에 나머지 연산자를 이용하여 숫자를 정수인지 확인할 수 있습니다.
function isInt(n) {
return n % 1 === 0;
};
console.log(isInt(10)); // true
console.log(isInt(0)); // true
console.log(isInt(1)); // true
console.log(isInt(77)); // true
console.log(isInt(10.2)); // false
console.log(isInt(Math.PI)); // false
console.log(isInt(-55.55)); // false
parseInt 함수의 매개변수에 n이 정수가 아닌 실수가 들어온다면, return 값이 0이 아니게 되어, false를 반환합니다.
function isInt(n) {
return parseInt(n) - n === 0;
};
console.log(isInt(10)); // true
console.log(isInt(0)); // true
console.log(isInt(1)); // true
console.log(isInt(77)); // true
console.log(isInt(10.2)); // false
console.log(isInt(Math.PI)); // false
console.log(isInt(-55.55)); // false