JavaScript에서 숫자가 소수점 이하 자릿수를 가지는지, 아니면 정수인지 판별하려면 Math.floor 메서드를 활용하는 것이 가장 간단하고 효과적인 방법입니다.
Math.floor의 동작 원리
Math.floor는 주어진 숫자를 내림하여 가장 가까운 정수를 반환합니다. 따라서 원래 숫자와 Math.floor를 적용한 결과값을 비교했을 때 두 값이 같다면 그 숫자는 소수점 이하 자릿수가 없는 정수이고, 두 값이 다르다면 소수라고 판단할 수 있습니다.
예제
아래 코드를 실행하면 숫자에 소수점 이하 자릿수가 있는지 여부를 직접 확인할 수 있습니다.
<html>
<head>
<title>JavaScript Numbers</title>
</head>
<body>
<script>
var num = 10.2;
if (num == Math.floor(num)) {
alert("정수입니다")
} else {
alert("소수입니다")
}
</script>
</body>
</html>
코드 설명
위 예제에서 변수 num에는 10.2라는 값이 저장되어 있습니다. 조건문에서 num과 Math.floor(num)의 결과인 10을 비교하는데, 10.2와 10은 서로 다르므로 else 블록이 실행되어 "소수입니다"라는 경고창이 표시됩니다.
반대로 num에 10과 같은 정수가 저장되어 있다면 num == Math.floor(num) 조건이 참이 되어 "정수입니다"가 출력됩니다. 이처럼 Math.floor를 활용하면 복잡한 연산 없이도 숫자의 정수·소수 여부를 손쉽게 판별할 수 있습니다.