카테고리 없음

[Javascript] string->num , NaN 판별

헬리이 2023. 2. 5. 16:32
728x90

 

 

Javascript 복습중 string->num으로 바꾸는 새로운 방법을 알게되었다!

 

바로 parseInt를 쓰는것!!!!

 

parseInt( )를쓰면 string->num으로 변환시켜주는데

 

예를 들어 설명해 보겠다.

 

 

 

 

이렇게 prompt로 나이를 묻는 창을 생성했다고 해보자

 

여기에 숫자값을 넣는다면 숫자로 나올 줄 알았으나..

 

 

 

29를 입력했으나, string으로 나온 것을 볼 수 있었다. 

 

 

 

이제 이 string 으로 나오는 것을 num으로 변환을 해 줄것인데, 

 

이때 사용하는게 위에서 언급한 parseInt( ) 이다.

 

 

 

 

이렇게 사용해보자! 

 

29라는 숫자를 아래처럼 둘다 ""로 감싸주었을때, pareseInt를 이용한 데이터의 타입은?!

 

console.log(typeof "29" , typeof parseInt("29"));

결과는 이렇게 처음꺼는 "string"이, 두번째 parseInt를 붙인 데이터는 "number"로 변환이된 것을 확인할 수 있었다. 

 

 

 

이렇게 변환하는 이유는

데이터가 숫자로 인식이 되어야 어떤 수 보다 큰지 작은지 비교를 할 수 있기 때문이다. 

 

 

 

그리고 여기 prompt에서 사용자의 나이를 물었는데, 

나이가 아닌 값을 넣었을 때도 인지가 가능하게 된다. 

 

해당 물음에 숫자가 아닌 문자열을 입력했을때 

결과

string->num로 변환해주는 parseInt는 NaN (Not a number) 을 보여주면서 해당 값이 숫자가 아님을 알려준다. 

 

위 식은 아래와 같이 합쳐서 쓸 수도 있다.

 

 

 

const age = parseInt(prompt('how old are u?'));

console.log(age);

이렇게 함수를 2개 붙여 바로 실행이 가능하다

 

 

ㅁㅁㅁㅁ의 데이터를 입력한 후 받은 값

 

 

간단하주!

 

 

 

 

 


 

이제 여기서 어떤수가 NaN인지 판별하는 기능도 배워서 같이 정리해보겠다.

 

isNaN( ) 이라는 것을 사용할 것인데

 

 

 

 

isNaN ( ) ?

 

여기서 보면 isNan은 자체가 boolean (trun 나 false를 반환하는 함수) 이다.

 

즉, 이 함수를 쓰고 ( ) 인자에 어떠한 값을 주면 이 값이 숫자인지 아닌지를 판별 해 준다는 것!!

 

 

여기서 이렇게 isNaN(age)를 입력해주고, 

age에는 'zzzz' 라는 데이터를 입력해 주었다. 

 

 

여기서 console.log에 찍히는 값이 NaN(not a number?) = 숫자가 아닌가? 라고 물었는데 

 

 

 돌아오는 대답은 응 아니야. 였다. 

 

^_^

 

 

 

 

이렇게 isNaN이라는 함수를 어떻게 이용하는지 보았고, 

 

나는 이것을 다음 게시물에 조건문에서 사용해 볼 예정이다! 

 

 

 

728x90