이 글의 내용은 자바스크립트에서 숫자값을 변환하는 방법에 관한 것입니다. JavaScript 수치 변환 방법에 대한 요약은 특정 참고 가치가 있습니다. 도움이 필요한 친구가 참고할 수 있기를 바랍니다.
다음 세 가지 함수는 숫자가 아닌 값을 숫자 값으로 변환합니다: Number(),parseInt()및parseFloat()
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"와 같은 형식을 사용하여 동일한 크기
숫자 값
var str = '' Number(str) 0로 변환합니다. 위 형식 외에는 NaN
var str = 'adfsfdsa' Number(str) NaN
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 숫자 유형과 문자열 유형 간 변환_javascript 기술
위 내용은 자바스크립트에서 숫자 값을 변환하는 방법은 무엇입니까? 자바스크립트 수치 변환 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!