Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 숫자가 부동 소수점(float)인지 정수인지 확인하는 방법

JavaScript에서 어떤 값이 정수(Integer)인지 아니면 부동 소수점(Float)인지 판별해야 하는 경우가 자주 있습니다. 예를 들어 다음과 같은 변수가 있다고 가정해 보겠습니다.

var value1 = 10;
var value2 = 10.15;

Number()를 활용한 float 여부 확인

숫자가 부동 소수점인지 확인하려면 Number() 조건을 활용할 수 있습니다. 아래 조건식은 값이 실제 숫자 타입이면서 동시에 나눗셈의 나머지가 0이 아닌 경우, 즉 소수점 이하 값을 가지는지 검사합니다.

function checkNumberIfFloat(value) {
    return Number(value) === value && value % 1 !== 0;
}

여기서 핵심은 두 가지입니다. 첫째, Number(value) === value는 해당 값이 숫자 타입인지 확인합니다. 둘째, value % 1 !== 0은 값을 1로 나눴을 때 나머지가 존재하는지, 즉 소수점 이하가 있는지를 판별합니다.

전체 예제 코드

다음은 위 함수를 사용한 완전한 예제입니다.

function checkNumberIfFloat(value) {
    return Number(value) === value && value % 1 !== 0;
}
var value1 = 10;
var value2 = 10.15;
if (checkNumberIfFloat(value1) == true)
    console.log("The value is float=" + value1);
else
    console.log("The value is not float=" + value1);
if (checkNumberIfFloat(value2) == true)
    console.log("The value is float=" + value2);
else
    console.log("The value is not float=" + value2);

프로그램 실행 방법

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.

node fileName.js

여기서는 파일 이름이 demo218.js라고 가정합니다.

실행 결과

프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

PS C:\Users\Amit\JavaScript-code> node demo218.js
The value is not float=10
The value is float=10.15

결과에서 볼 수 있듯이 정수 10은 "not float"로 판별되고, 소수점을 포함한 10.15는 "float"로 올바르게 구분됩니다. 이 방법은 간단하면서도 효율적이기 때문에 입력값 유효성 검사나 데이터 타입 처리 로직에 유용하게 활용할 수 있습니다.