반응형
문제
"12.435"
자바스크립트에서 다음과 같이 숫자 형태로 된 문자를
12.435
이렇게 실제 숫자로 바꿔준다.
해결
방법 1 : Number 함수 이용
const num1 = Number('123');
const num2 = Number('-123');
const num3 = Number('3.14');
const num4 = Number('Infinity');
const num5 = Number('abcd');
const num6 = Number(undefined);
console.log(num1); //123
console.log(num2); //-123
console.log(num3); //3.14
console.log(num4); //Infinity
console.log(num5); //NaN
console.log(num6); //NaN
Number()는 음수든 양수든 소수든 숫자 형태라면 모두 숫자로 변환해주는 함수다. 만약 숫자가 아니라면 NaN를 반환한다. (다만 boolean인 true는 1로, false는 0으로 변환된다.)
방법 2 : parseInt, parseFloat 이용
const num1 = parseInt('123');
const num2 = parseFloat('123');
const num3 = parseInt('-3.14');
const num4 = parseFloat('-3.14');
console.log(num1); // 123
console.log(num2); // 123
console.log(num3); // -3
console.log(num4); // -3.14
parseInt()와 parseFloat()는 각각 문자를 정수와 실수로 변환해주는 함수이다. 정수를 변환할 때는 두 함수는 차이가 없지만, 실수를 변환할 때는 parseInt를 사용하면 소수부분이 떨어져나간다.
방법 3 : Math의 함수들 이용
const num1 = Math.ceil('3.14');
const num2 = Math.floor('2.72');
const num3 = Math.round('3.14');
const num4 = Math.round('2.72');
console.log(num1); //4
console.log(num2); //2
console.log(num3); //3
console.log(num4); //3
자바스크립트의 표준 내장 객체인 Math를 이용하여 문자를 정수로 변환 할 수도 있다.
방법 4 : 앞에 +붙이기
const num1 = "123";
const num2 = "-123";
const num3 = "Infinity";
const num4 = "abc";
console.log(+num1); //123
console.log(+num2); //-123
console.log(+num3); //Infinity
console.log(+num4); //NaN
간단하게 앞에 +연산자를 붙여 숫자로 변환할 수도 있다! 마찬가지로 숫자가 아닌 문자는 NaN으로 변환된다. 하지만 이 방법은 코드의 가독성을 낮출 수도 있다.
방법 5 : *1 또는 -0하기
const num1 = "123";
const num2 = "-123"
console.log(num1 * 1); //123
console.log(num1 - 0); //123
console.log(num1 + 0); //1230
console.log(num2 * 1); //-123
console.log(num2 - 0); //-123
console.log(num2 + 0); //-1230
위와 비슷하지만 1을 곱하거나 0을 빼는 등 연산을 해주는 방법이다. 주의할 점으로는 덧셈을 할 경우 문자열로 더해지게 된다는 것이다.
관련 문서
비슷한 문제
위 함수들을 이용, 배열 속의 문자들을 숫자로 변환하는 법이다.
반응형
'🐍 코딩 잡지식 > 자바스크립트 (Javascript)' 카테고리의 다른 글
🔠 Javascript로 알파벳 리스트 만들기! (0) | 2023.01.13 |
---|---|
Javascript에서 배열의 문자를 숫자로 변환하는 법 (1) | 2022.09.22 |
Javascript에서 문자열을 숫자만큼 반복하는 방법! (4) | 2022.09.19 |
댓글