>웹 프론트엔드 >프런트엔드 Q&A >자바스크립트를 int로 변환하는 방법

자바스크립트를 int로 변환하는 방법

PHPz
PHPz원래의
2023-04-21 09:10:245190검색

JavaScript에서는 문자열을 정수 값으로 변환해야 하는 경우가 있습니다. 이 글에서는 JavaScript에서 문자열을 정수 값으로 변환하는 다양한 방법을 살펴보겠습니다. 또한 몇 가지 모범 사례와 몇 가지 잠재적인 함정에 대해서도 논의하겠습니다.

방법 1: ParseInt() 사용

JavaScript에서는parseInt() 함수를 사용하여 문자열을 정수 값으로 변환할 수 있습니다. 이 함수는 문자열을 인수로 사용하고 10진 정수를 반환합니다. 예:

let str = "123";
let num = parseInt(str);

console.log(num); // 123

인수가 숫자로 시작하는 문자열이 아닌 경우 parseInt() 함수는 NaN을 반환합니다.

let str = "hello";
let num = parseInt(str);

console.log(num); // NaN

parseInt() 함수를 사용하여 문자열을 다른 진법의 정수 값으로 변환할 수도 있습니다. 이 함수의 두 번째 매개변수는 밑수를 나타내는 정수입니다. 예를 들어, 16진수 문자열을 10진수 정수로 변환합니다:

let hexStr = "FF";
let decimal = parseInt(hexStr, 16);

console.log(decimal); // 255

기본 인수가 유효한 숫자가 아닌 경우 parseInt() 함수는 NaN을 반환합니다.

let str = "123";
let num = parseInt(str, "123");

console.log(num); // NaN

방법 2: Number() 사용

JavaScript의 Number() 함수는 문자열을 정수 값으로 변환할 수도 있습니다. ParseInt()와 달리 Number() 함수는 문자열에서 숫자가 아닌 문자를 무시하지 않습니다.

let str = "123abc";
let num = Number(str);

console.log(num); // NaN

문자열이 숫자로 시작하면 Number() 함수가 이를 정수 값으로 변환합니다.

let str = "123";
let num = Number(str);

console.log(num); // 123

방법 3: 단항 더하기 연산자 사용

JavaScript에서 단항 더하기 연산자(+)는 문자열을 정수 값으로 변환할 수도 있습니다. 이 연산자는 문자열을 피연산자로 사용하여 숫자 값을 반환합니다. 예:

let str = "123";
let num = +str;

console.log(num); // 123

마찬가지로 문자열에 숫자가 아닌 문자가 포함되어 있으면 연산자는 NaN을 반환합니다.

let str = "hello";
let num = +str;

console.log(num); // NaN

Best Practices

위 방법을 사용하여 문자열을 정수로 변환할 때 따라야 할 몇 가지 모범 사례가 있습니다.

  1. 문자열이 정수로 올바르게 변환되도록 하려면 항상 구문 분석() 함수의 두 번째 매개 변수를 사용하세요.
  2. 문자열을 변환하는 데 사용된 메서드가 NaN을 반환하는 경우 코드의 해당 결과에 의존하지 마세요. 이로 인해 문제 해결이 어려운 오류가 발생할 수 있습니다. 이러한 상황을 처리하려면 조건문이나 try-catch 문을 사용하세요.
  3. 단항 더하기 연산자를 사용하여 문자열을 정수로 변환하는 경우 문자열에 숫자만 포함되어 있는지 확인하세요. 문자열에 다른 문자가 포함되어 있으면 작업은 NaN을 반환합니다.

잠재적인 함정

위의 방법을 사용할 때 다음과 같은 잠재적인 함정에 유의하세요.

  1. 문자열이 가능한 정수 범위를 초과하는 경우 오버플로로 인해 음수 값이 발생할 수 있습니다.
let str = "99999999999999999999";
let num = parseInt(str);

console.log(num); // -1
  1. parseInt() 함수를 사용하여 "08" 및 "09"와 같은 문자열을 정수로 변환하면 예상치 못한 결과가 나올 수 있습니다. 이는 이 문자열 앞에 0이 있기 때문입니다.
let str = "08";
let num = parseInt(str);

console.log(num); // 8

이 상황은 기본 매개변수를 지정하여 해결할 수 있습니다.

let str = "08";
let num = parseInt(str, 10);

console.log(num); // 8

결론

JavaScript에서는parseInt() 함수, Number() 함수 및 단항 더하기 연산자를 포함한 여러 메서드를 사용하여 문자열을 정수 값으로 변환할 수 있습니다. 이러한 방법을 사용할 때는 모범 사례를 따르고 잠재적인 함정에 유의하십시오.

위 내용은 자바스크립트를 int로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.