JavaScript에서 문자열을 숫자로 변환

Nithin Krishnan 2023년10월12일
  1. Number()함수를 사용하여 JavaScript에서 문자열을 숫자로 변환
  2. parseInt()함수를 사용하여 JavaScript에서 문자열을 정수로 변환
  3. Math객체를 사용하여 JavaScript에서 문자열을 정수로 변환
  4. 결론
JavaScript에서 문자열을 숫자로 변환

숫자를 변환하려면 다양한 시나리오가 있어야합니다. 예를 들어 API 또는 데이터베이스 쿼리에서 문자열 형식의 데이터를 숫자로 가져옵니다. 문자열이 다르게 작동하므로 쉽게 산술 연산을 수행하기 위해 이러한 문자열을 숫자 형식으로 변환해야 할 수 있습니다. 이를 수행하는 몇 가지 방법은 다음과 같습니다.

  • Number("123")
  • parseInt("123")
  • Math.floor("123.12")
  • Math.round("123")

Number()함수를 사용하여 JavaScript에서 문자열을 숫자로 변환

Number()는 다른 데이터 유형을 숫자 형식으로 변환하는 데 사용할 수있는Number구조의 함수입니다 (MDN 문서에 따라]. 입력 매개 변수가 정의되지 않았거나 숫자로 변환 할 수없는 경우NaN을 리턴합니다. 예를 들면 :

console.log(Number('246'))
console.log(Number('246.5'))
console.log(Number(undefined))
console.log(Number('Hello'))

출력:

246
246.5
NaN
NaN

parseInt()함수를 사용하여 JavaScript에서 문자열을 정수로 변환

문자열 숫자를 처리하는 또 다른 방법은 JavaScript의parseInt()메소드를 사용하는 것입니다. parseInt()는 두 개의 인수를 취합니다. 하나는 변환해야하는 문자열이고 다른 하나는radix(기본을 의미 함)입니다. 우리가 일상 생활에서 다루는 대부분의 숫자는 일반적으로 10 진수 값을 나타내는 10의 밑수입니다. 대부분의 경우 기본값은 10이므로 기수를 지정할 필요가 없습니다.

console.log(parseInt('123'));
console.log(parseInt('abc'));
console.log(parseInt('-123'));
console.log(parseInt('100.50'));

출력:

123
NaN
-123
100

parseInt("100.50")은 입력 된 숫자를 정수로 변환하므로 100.50 대신 100을 반환합니다. 따라서parseInt()를 사용하는 동안 사실을 알고 있어야합니다.

parseInt()는 또한 이진 시스템, 8 진 시스템 등과 같은 다른 기본 숫자 시스템으로 16 진수 값과 값을 변환 할 수 있습니다. 자세한 내용은 문서를 확인하세요. 마찬가지로,parseFloat()를 사용하여 문자열을 부동 소수점 숫자로 변환 할 수 있습니다.

Math객체를 사용하여 JavaScript에서 문자열을 정수로 변환

Math는 복잡한 수학 연산을위한 메소드를 가진 JavaScript의 내장 객체입니다. 데이터 유형 번호에서 작동합니다. 그러나이 내장 객체의 메서드는 문자열을 정수로 변환하는 데 사용되는 방법이 거의 없습니다. 예를 들면

console.log(Math.ceil('123'));
console.log(Math.floor('300'));
console.log(Math.abs('450'));

출력:

123
300
450

그러나 변환을 위해Math방법을 사용할 때 함정이 있습니다. 부동 소수점 값의 경우 정수로 변환하므로 사용할 수 없습니다. 따라서 값의 소수 부분을 잃게됩니다.

  • Math.ceil("220.5"): 221을 반환합니다. 이는 상한값을 취하여221인 다음 정수 값에 십진수를 근사합니다. 따라서220.5를 얻는 데 사용할 수 없습니다. 이러한 시나리오에서는parseFloat()를 사용합니다.
  • Math.floor("220.5"): 220을 반환합니다. ceil()함수와 비교하여floor()는 이전 정수 값을 반환합니다. 따라서Math.floor()는 부동 소수점 숫자 값에 대해 작동하지 않습니다.
  • Math.abs("450"): 450을 반환하므로 사용할 수 있지만 음의 정수 값으로는 작동하지 않습니다. 예를 들어, 음의 정수 값을 처리 할 때 다음 차이는 우리의 목적에 부합하지 않습니다. 다음 시나리오에 따라 :
console.log(Maths.abs('240.64'))
console.log(Math.abs('-240.25'))

출력:

240.64 // The decimal value of .64 is captured here
240.25 // -240.25 is transformed to 240.25

결론

문자열 번호에서 예상되는 값에 따라 가장 좋은 방법은Number()메서드를 사용하는 것입니다. 정수 값만 가지고 노는 경우parseInt()를 사용하는 것이 좋습니다. 우리가 사용하는 방법에 따라 까다로울 수 있으므로 JavaScript의 내장 Math 객체를 현명하게 사용하여 문자열 번호를 변환하십시오.

관련 문장 - JavaScript String

관련 문장 - JavaScript Integer