Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

빰_s

(2024.01.06) JavaScript - 문자열 숫자 크기 본문

JavaScript

(2024.01.06) JavaScript - 문자열 숫자 크기

Job_E 2024. 1. 6. 00:47
var a = "1500";
var b = "200";

alert( a > b ? "true - a가 b보다 더 크다" : "false - b가 a보다 크다");

 

위 코드의 결과로 어떤 알림이 뜨게 될까?

정답은 "false - b가 a보다 크다" 문이 뜨게 된다.

 

이유라 한다면, 문자와 문자를 비교하는 과정에서 해당 비교는 맨 앞글자의 아스키코드 값으로 비교하게 되기 때문이다.

즉, "1500"과 "200"의 경우 맨 앞의  값인 "1"과 "2"로 비교를 하기 때문에 b 변수의 크기가 더 크다고 여기게 되는 것이다.

 

그렇기에 정상적인 값의 비교를 위해 자료형의 변환이 필요하다.

이는 parseInt()(※ 정수형 변환) 및 parseFloat()(※ 부동소숫점 변환) 함수로 가능하다.

var a = "1500";
var b = "200";

a = parseInt(a);
b = parseInt(b);

alert( a > b ? "true - a가 b보다 더 크다" : "false - b가 a보다 크다");

 

이와 같이 값을 정수형으로 변환 후 비교를 하게 되면 a가 b보다 크다는 정상적인 결과를 반환하게 된다.

Comments