본문 바로가기
JS

JS, 문자를 숫자로& 숫자를 문자로

by Hyeon_E 2023. 5. 30.

[ 문자를 숫자로 ]

▶ Number()

인자로 전달된 문자열을 Number로 변환

숫자가 아닌 문자나 undefined 등을 인자로 전달하면 NaN(Not A Number)을 리턴

→ NaN의 의미는 숫자가 아니지만 NaN의 객체 타입은 number임

console.log(Number("1234") + ', ' + typeof(Number("1234"))); //1234, number
console.log(Number("1234.5") + ', ' + typeof(Number("1234.5")));  //1234.5, number
console.log(Number(undefined) + ', ' + typeof(Number(undefined)));  //NaN, number
console.log(Number("abcd") + ', ' + typeof(Number("abcd")));  //NaN, number

 

▶ parseInt()

인자로 전달된 문자열을 정수의 Number로 변환

소수를 갖고 있는 실수는 정수로 변환됨

console.log(parseInt("1234") + ', ' + typeof(parseInt("1234"))); //1234, number
console.log(parseInt("1234.5") + ', ' + typeof(parseInt("1234.5")));  //1234, number
console.log(parseInt(undefined) + ', ' + typeof(parseInt(undefined)));  //NaN, number
console.log(parseInt("abcd") + ', ' + typeof(parseInt("abcd")));  //NaN, number

 

▶ parseFloat()

인자로 전달된 문자열을 Number로 변환

소수를 갖고 있는 실수는 그대로 실수로 변환됨

console.log(parseFloat("1234") + ', ' + typeof(parseFloat("1234"))); //1234, number
console.log(parseFloat("1234.5") + ', ' + typeof(parseFloat("1234.5")));  //1234.5, number
console.log(parseFloat(undefined) + ', ' + typeof(parseFloat(undefined)));  //NaN, number
console.log(parseFloat("abcd") + ', ' + typeof(parseFloat("abcd")));  //NaN, number

 

▶ Math.로 문자열을 숫자로 변환

Math의 ceil(올림), round(반올림), floor(버림) 메소드들은 인자로 문자열을 받으며 숫자로 변환

console.log(Math.ceil("1234.6") + ', ' + typeof(Math.ceil("1234.6"))); //1235, number
console.log(Math.floor("1234.6") + ', ' + typeof(Math.floor("1234.6")));  //1234, number
console.log(Math.round("1234.6") + ', ' + typeof(Math.round("1234.6")));  //1235, number
console.log(Math.round("1234.6") + ', ' + typeof(Math.round("1234.6")));  //1235, number

 

▶ 단항 연산자로 문자열을 숫자로 변환

+연산자는 피연산자를 Number타입으로 변환하고 -연산자는 피연산자를 음수인 Number 타입으로 변환

단항연산자는 문자열에 따라 정수 또는 실수로 자동 변환됨

문자열이 아닌 true, false, null도 숫자로 변환함

단항 연산자가 숫자로 해석할 수 없으면 NaN을 반환

console.log(+"10"); //10
console.log(-"10"); //-10
console.log(+"10.123"); //10.123
console.log(-"10.123"); //-10.123
console.log(+true); //1
console.log(+false);  //0
console.log(+null); //0
console.log(+"abc");  //NaN

 

[ 숫자를 문자로 ]

▶ .toString()

toString() 메소드를 호출하여 숫자를 문자열로 변환

인자로 base숫자를 입력해줄 경우, 해당 진법으로 숫자를 변환하여 문자열로 리턴함

console.log((1234).toString() + ", " + typeof (1234).toString()); //1234, string
console.log((1234.5).toString() + ", " + typeof (1234.5).toString()); //1234.5, string
console.log((3).toString(2) + ", " + typeof (3).toString(2)); //11, string

 

▶ String()

인자로 전달된 숫자를 String으로 변환

console.log(String(1234) + ", " + typeof String(1234)); //1234, string
console.log(String(1234.5) + ", " + typeof String(1234.5)); //1234.5, string

 

▶Template String(템플릿 문자열)

const number = 1234;
const number2 = 1234.5;

console.log(`${number}` + ", " + typeof `${number}`); //1234, string
console.log(`${number2}` + ", " + typeof `${number2}`); //1234.5, string

 

▶ 숫자 뒤에 ""(빈문자열) 붙이기

가장 많이 사용하는 방법

console.log(1234 + "" + ", " + typeof (1234 + "")); //1234, string
console.log(1234.5 + "" + ", " + typeof (1234.5 + "")); //1234.5, string

 

'JS' 카테고리의 다른 글

JS, Array의 min, max값 찾기  (0) 2023.06.05
JS, map & filter & reduce  (0) 2023.05.30
JS, 문자 혹은 문자열 찾기  (0) 2023.05.27
JS, 문자열을 배열로&배열을 문자열로  (1) 2023.05.27
JS, Math.  (0) 2023.05.26

댓글