JavaScript에서는 다음 3가지 방법을 통해 문자열 값을 숫자로 변환할 수 있습니다.
1. 문자열에 대한 값 유형 변환을 수행하려면 Number()를 호출하세요.
2.parseInt().
3.parseFloat().
숫자()
Number() 함수를 사용하여 문자열을 캐스팅하는 것이 가장 직접적인 방법입니다. 그러나 이 접근 방식에는 제한이 있습니다. 선행 및 후행 공백 문자를 잘라낸 후 문자열이 순수한 숫자 문자열이 아닌 경우 최종 반환 결과는 NaN이 됩니다. David Flanagan의 JavaScript - 최종 가이드 6판, 섹션 3.8.2에서는 문자열을 숫자로 변환하기 위해 Number() 함수를 사용할 때 이 함수가 소수 문자열만 허용한다고 언급했지만 테스트 결과는 그렇지 않은 것으로 나타났습니다. Number() 함수는 "0xff"를 매개변수로 허용하고 이를 값 255로 변환할 수 있습니다.
console.log(번호(a));//42
console.log(숫자(b));//NaN
console.log(번호(c));//255
console.log(숫자(d));//42.34
parseInt()
parseInt() 함수는 문자열을 정수로 변환할 수 있습니다. Number() 함수와 비교하여,parseInt() 함수는 순수한 숫자 문자열을 구문 분석할 수 있을 뿐만 아니라 숫자로 시작하는 부분 숫자 문자열(숫자가 아닌 문자열)도 구문 분석할 수 있습니다. ). 일부 문자열은 변환 과정에서 제거됩니다. parseInt() 함수가 부동 소수점 문자열을 구문 분석할 때 반올림 작업에 사용되는 방법은 "truncate"라는 점은 주목할 가치가 있습니다.
parseInt() 함수는 문자열을 첫 번째 매개변수로 사용하는 것 외에도 2에서 36 사이의 정수를 두 번째 매개변수로 받아들일 수 있으며, 이는 변환 프로세스 중에 기본 숫자를 지정하는 데 사용됩니다.
console.log(parseInt(b));//42
console.log(parseInt(x));//-12
console.log(parseInt(y));//15
console.log(parseInt(c));//255
console.log(parseInt(z, 2));//42
console.log(parseInt(".1"));//NaN
parseFloat()
parseInt()와 마찬가지로,parseFloat()도 숫자로 시작하는 숫자 문자열의 일부를 구문 분석할 수 있습니다(문자열에서 숫자가 아닌 부분은 변환 프로세스 중에 제거됩니다). parseInt()와는 달리,parseFloat()는 문자열을 부동 소수점 숫자로 변환할 수 있지만 동시에parseFloat()는 하나의 매개변수만 허용하고 10진수 문자열만 처리할 수 있습니다.
console.log(parseFloat(c));//0, "0xff"는 0으로 시작하기 때문입니다
console.log(parseFloat(d));//42.34
console.log(parseFloat(".1"));//0.1