12-4. Global 오브젝트 / 정수, 실수 변환
parseInt()
구분 | 데이터(값) |
---|---|
파라미터 | 첫번째 파라미터 : 값 두번째 파라미터 : 진수, 디폴트(10진수) |
반환 | 변환한 값 |
값을 정수로 변환화여 반환
값이 123.56이면 123 반환
console.log(parseInt(123.56)); // 123
- 소수를 제외하고 정수만 반환
값이 “123px”이면 123 반환
이 용도로도 많이 사용
console.log(parseInt("-123.45")); // -123 console.log(parseInt("123px")); // 123 console.log(parseInt("12AB34")); // 12
- String 타입이라도 값이 숫자이면 변환
- “123px”에서 123은 변환하고 px은 변환하지 않음 (이는 스타일에서 많이 씁니다.)
- “12AB34”에서 12는 변환하고 AB와 34는 변환하지 않음
0 또는 빈 문자열을 제외시킴
console.log(parseInt("0012")); // 12 console.log(parseInt(" 123")); // 123 console.log(parseInt()); // NaN
- 0012에서 00은 없어짐
- “ 123”에서 앞의 공백을 무시하고 변환
- 값을 작성하지 않으면 NaN
undefined가 아닌 것은 기준이 Number이기 때문
파라미터를 숫자 개념으로 처리하기 때문에 NaN을 반환합니다.
진수를 적용하여 값을 변환
console.log(parseInt(13, 16)); // 19 console.log(parseInt("0x13")); // 19
- 두번째 파라미터에 16진수 작성
13을 16진수로 변환
16 + 3은 19 0(숫자)x
는 16진수를 나타냄
- 두번째 파라미터에 16진수 작성
parseFloat()
구분 | 데이터(값) |
---|---|
파라미터 | 값 |
반환 | 변환한 값 |
값을 실수로 변환하여 반환
- JS는 기본적으로 실수로 처리하므로
- 실수로 변환하는 것이 의미가 없지만
- 문자열의 실수 변환은 의미가 있음
console.log(parseFloat("-123.45") + 6); // -117.45 console.log(parseFloat("12.34AB56")); // 12.34
- String 타입이지만 소수를 포함하여 변환
-123.45에 6을 더하면 -117.45 - 12.34AB56에서 12.34는 변환되고 AB56은 변환되지 않음
- 문자 이후는 변환하지 않습니다.
지수, 공백 변환
console.log(parseFloat("1.2e3")); // 1200 console.log(parseFloat(" 12.34 ") + 20); // 32.34 console.log(parseFloat()); // NaN
- 지수를 변환
- 앞뒤 공백을 제외하고 변환
Number 타입의 12.34로 변환하므로 20을 더할 수 있음 - 값을 작성하지 않으면 NaN