>  기사  >  웹 프론트엔드  >  자바스크립트에서 숫자 값을 변환하는 방법은 무엇입니까? 자바스크립트 수치 변환 방법 요약

자바스크립트에서 숫자 값을 변환하는 방법은 무엇입니까? 자바스크립트 수치 변환 방법 요약

不言
不言원래의
2018-09-13 16:02:401349검색

이 글의 내용은 자바스크립트에서 숫자값을 변환하는 방법에 관한 것입니다. JavaScript 수치 변환 방법에 대한 요약은 특정 참고 가치가 있습니다. 도움이 필요한 친구가 참고할 수 있기를 바랍니다.

다음 세 가지 함수는 숫자가 아닌 값을 숫자 값으로 변환합니다: Number(),parseInt()및parseFloat()

Number() 변환 규칙

Boolean 값 true는 1로 변환됩니다. false는 변환됩니다. 0

var correct = true
Number(correct)
1
var error = false
Number(error)
0

숫자 값이

var sales = 10
Number(sales)
10

null 값에 전달될 때 반환되는 것은 0

var arg = null
Number(arg)
0

undefound를 반환하고 NaN

var vara = undefined
Number(vara)
NaN

string을 반환합니다. 다음 규칙을 따르세요.

문자열에 숫자만 포함된 경우(포함) 앞에 양수 기호 또는 음수 기호가 있음) 이를 십진수 값으로 변환합니다. 즉, "1"
은 1이 되고, "123"은 123이 되고, "011"은 11이 됩니다(참고: 선행 0은 무시됩니다).

var str = '1'
Number(str)
1
var str1 = '011'
Number(str1)
11
var str2 = '+1'
Number(str2)
1
var str3 = '-001'
Number(str3)
-1
var str4 = '-121'
Number(str4)
-121

문자열에 "1.1"과 같은 유효한 부동 소수점 형식이 포함된 경우 해당 부동 소수점 값으로 변환합니다. (마찬가지로 선행 0도 무시됩니다.)

var str = '1.1'
Number(str)
1.1
var str1 = '+1.1'
Number(str1)
1.1
var str2 = '-01.1'
Number(str2)
-1.1
문자열에 유효한 부동 소수점 형식이 포함된 경우 16진수 "0xf"와 같은 형식을 사용하여 동일한 크기

숫자 값

의 10진수 정수로 변환합니다. 문자열이 비어 있으면(문자가 포함되지 않음) 문자열에 문자가 포함되어 있으면 0

var str = ''
Number(str)
0
로 변환합니다. 위 형식 외에는 NaN

var str = 'adfsfdsa'
Number(str)
NaN
  1. 객체인 경우 해당 객체의 valueOf() 메서드를 호출한 후 이전 규칙에 따라 반환된 값을 변환합니다. 변환 결과가 NaN이면 객체의 toString() 메서드를 호출한 후 반환된 문자열 값을 이전 규칙에 따라 다시 변환합니다

parseInt() 변환 규칙

Number() 함수가 비교하므로 문자열을 변환할 때 복잡하고 무리가 있기 때문에 정수를 다룰 때는

parseInt() 함수를 더 많이 사용합니다. parseInt() 함수가 문자열을 변환할 때 숫자 패턴을 따르는지 여부에 따라 더 달라집니다. 공백이 아닌 첫 번째 문자를 찾을 때까지
문자열 앞의 공백을 무시합니다. 첫 번째 문자가 숫자 문자가 아닌 경우,parseInt()
는 NaN을 반환합니다. 즉, 빈 문자열을 변환하기 위해 parseInt()를 사용하면 NaN이 반환됩니다(Number()는 null 문자의 경우 0을 반환합니다).
첫 번째 문자가 숫자인 경우,parseInt()는 모든 후속 문자가 구문 분석되거나
숫자가 아닌 문자가 발견될 때까지 두 번째 문자를 계속 구문 분석합니다. 예를 들어, "1234blue"는 1234로 변환됩니다. "blue"는 완전히 무시되기 때문입니다. 마찬가지로 "22.5"
는 소수점이 유효한 숫자가 아니기 때문에 22로 변환됩니다.

指定基数会影响到转换的输出结果。例如:
var num1 = parseInt("10", 2); //2 (按二进制解析)
var num2 = parseInt("10", 8); //8 (按八进制解析)
var num3 = parseInt("10", 10); //10 (按十进制解析)
var num4 = parseInt("10", 16); //16 (按十六进制解析)
**多数情况下,我们要解析的都是十进制数值,因此始终将 10 作为第二个参数是
非常必要的。**
parseFloat() 변환 규칙

parseInt() 함수와 유사하게, parseFloat()도 첫 번째 문자(위치 0)부터 시작하여 각 문자를 구문 분석합니다. 또한

는 문자열이 끝날 때까지 또는 잘못된 부동 소수점 숫자 문자가 나타날 때까지 구문 분석됩니다. 즉, 문자열의
번째 소수점은 유효하지만, 두 번째 소수점은 유효하지 않으므로 그 뒤의 문자열은 무시됩니다. 예를 들어
"22.34.5"는 22.34로 변환됩니다.
유효한 첫 번째 소수점 외에도,parseFloat()와parseInt()의 두 번째 차이점은 항상 선행
0을 무시한다는 것입니다. parseFloat()는 십진 정수 형식을 포함하여 이전에 설명한 모든 부동 소수점 숫자 형식을 인식합니다. 그러나 16진수 형식의 문자열은 항상 0으로 변환됩니다. parseFloat()는 소수 값만 구문 분석하므로 두 번째 인수로 밑수를 지정하는 용도가 없습니다. 마지막으로 주의할 점: 문자열에 정수로 구문 분석할 수 있는 숫자가 포함되어 있는 경우(소수점이 없거나 소수점 이하가 모두 0인 경우),parseFloat()는 정수를 반환합니다.

var num1 = parseFloat("1234blue"); //1234 (整数)
var num2 = parseFloat("0xA"); //0 
var num3 = parseFloat("22.5"); //22.5 
var num4 = parseFloat("22.34.5"); //22.34 
var num5 = parseFloat("0908.5"); //908.5 
var num6 = parseFloat("3.125e7"); //31250000

관련 권장 사항:

JavaScript 탐색: 숫자 변환을 위해 parseInt() 사용

javaScript 숫자 유형과 문자열 유형 간 변환_javascript 기술

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

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