>  기사  >  웹 프론트엔드  >  자바스크립트에서 값을 숫자형으로 변환하는 방법

자바스크립트에서 값을 숫자형으로 변환하는 방법

青灯夜游
青灯夜游원래의
2021-07-20 15:03:087019검색

JavaScript에서 값을 숫자 유형으로 변환하는 방법: 1. parsInt() 메서드를 사용하여 값을 정수로 변환합니다. 2. parseFloat() 함수를 사용하여 값을 부동 소수점 숫자로 변환합니다. 곱셈 연산자를 사용하여 변수에 1을 곱하면 변수가 자동으로 숫자 값으로 변환되고 결과는 변경되지 않습니다.

자바스크립트에서 값을 숫자형으로 변환하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

방법 1: parseInt() 사용

parseInt()는 값을 정수로 변환하는 전역 메서드입니다. 변환 과정은 다음과 같습니다.

먼저 0 위치의 문자를 구문 분석합니다. 유효한 숫자가 아닌 경우 NaN이 직접 반환됩니다.

0 위치의 문자가 숫자이거나 유효한 숫자로 변환될 수 있는 경우 위치 1의 문자를 계속 구문 분석합니다. 유효한 숫자가 아닌 경우 위치 0의 유효한 숫자를 직접 반환합니다.

그리고 숫자가 아닌 문자를 찾을 때까지 왼쪽에서 오른쪽으로 각 문자를 하나씩 분석합니다.

parseInt()는 이전에 분석된 모든 합법적 숫자를 숫자 값으로 변환하여 반환합니다.

console.log(parseInt("123abc"));  //返回数字123
console.log(parseInt("1.73"));   //返回数字1
console.log(parseInt(".123"));   //返回值NaN

부동 소수점 숫자의 점은parseInt()에 잘못된 문자이므로 값의 소수 부분은 변환되지 않습니다.

0으로 시작하는 숫자 문자열인 경우,parseInt()는 이를 8진수로 처리합니다. 먼저 이를 8진수로 변환한 다음 10진수로 변환하여 반환합니다.

0x로 시작하는 숫자 문자열인 경우,parseInt()는 이를 16진수로 처리합니다. 먼저 16진수 값으로 변환한 다음 10진수로 변환하여 반환합니다.

var d = 010;  //八进制数字字符串
var e = 0x10;  //十六进制数字字符串
console.log(parseInt(d));  //返回十进制数字8
console.log(parseInt(e));  //返回十进制数字16

parseInt()는 또한 2진수, 8진수, 16진수 등 다양한 진수의 디지털 문자열을 정수로 변환할 수 있는 기본 모드를 지원합니다. 기본 모드는 parsInt() 함수의 두 번째 매개변수로 지정됩니다.

【예제 1】다음 코드는 16진수 문자열 "123abc"를 10진수 정수로 변환합니다.

var a = "123abc";  
console.log(parseInt(a,16));  //返回十进制整数1194684

【예제 2】다음 코드는 2진수, 8진수, 10진수 문자열을 10진수 정수로 변환합니다.

console.log(parseInt("10",2));  //把二进制数字 10 转换为十进制整数,为 2
console.log(parseInt("10",8));  //把八进制数字 10 转换为十进制整数,为 8
console.log(parseInt("10",10));  //把十进制数字 10 转换为十进制整数,为 10

[예제 3] 첫 번째 매개변수가 10진수 값이고 접두사가 0인 경우, 8진수로 오해되지 않도록 두 번째 매개변수 값을 10으로 지정해야 합니다. 즉 기본 모드는 명시적으로 지정됩니다. 기본 기본 모드를 사용하는 대신 정의됩니다.

console.log(parseInt("010"));  //把默认基模式数字 010 转换为十进制整数为 10
console.log(parseInt("010",8));  //把八进制数字 010 转换为十进制整数为 8
console.log(parseInt("010",10));  //把十进制数字 010 转换为十进制整数为 10

방법 2: parseFloat() 함수 사용

parseFloat()도 전역 메서드이므로 값을 부동 소수점 숫자로 변환할 수 있습니다. 즉, 나타나는 첫 번째 소수점을 인식할 수 있으며, 소수점 둘째 자리는 잘못된 것으로 간주됩니다. 구문 분석 프로세스는 parsInt() 메서드와 동일합니다.

console.log(parseFloat("1.234.5"));  //返回数值 1.234

parseFloat()의 매개변수는 10진수 형식의 문자열이어야 하며, 8진수 또는 16진수 숫자 문자열은 사용할 수 없습니다. 동시에 숫자 앞의 0(8진수 식별)은 무시되며, 16진수인 경우 0이 반환됩니다.

console.log(parseFloat("123"));  //返回数值 123
console.log(parseFloat("123abc"));  //返回数值 123
console.log(parseFloat("010"));  //返回数值 10
console.log(parseFloat("0x10"));  //返回数值 0
console.log(parseFloat("x10"));  //返回数值 NaN

방법 3: 곱셈 연산자를 사용하세요

변수에 1을 곱하면 해당 변수는 JavaScript에 의해 자동으로 숫자 값으로 변환됩니다. 1을 곱한 후에는 결과는 변하지 않지만 값의 유형은 숫자 값으로 변환됩니다. 값을 유효한 숫자로 줄일 수 없으면 NaN이 반환됩니다.

var a = 1;  //数值
var b = "1";  //数字字符串
console.log(a + (b * 1));  //返回数值 2

【추천 학습: javascript 고급 튜토리얼

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

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