>  기사  >  웹 프론트엔드  >  js에서 문자열을 숫자로 변환하는 방법은 무엇입니까? js를 사용하여 문자열을 숫자로 변환하는 5가지 방법 요약

js에서 문자열을 숫자로 변환하는 방법은 무엇입니까? js를 사용하여 문자열을 숫자로 변환하는 5가지 방법 요약

不言
不言원래의
2018-07-20 14:26:274882검색

js에서 문자열을 숫자로 변환하는 방법은 여러 가지가 있는데 어떤 방법이 가장 적합할까요? 여기서는 문자열을 숫자로 변환하는 5가지 방법을 소개하고 각 방법을 분석해 보겠습니다.

parseInt(num); // 기본 메서드(기본 없음)
parseInt(num, 10); // 기본(십) 전달
parseFloat(num) // 부동 소수점 숫자
Number(num); 숫자 생성자
~~num //비트 표기법
num / 1 //숫자 나누기
num * 1 //숫자 곱하기
num - 0 //0
+num 빼기 //단항 연산자 "+"

parseInt js에서의 사용법:

JsPerf.com의 벤치마크에 따르면 대부분의 브라우저는 ParseInt에 가장 잘 반응합니다. 가장 빠른 방법이지만 preseInt를 사용하면 몇 가지 일반적인 함정에 직면하게 됩니다.

parseInt('08') // returns 0 部分老浏览器.
parseInt('44.jpg') // returns 44

parseInt: 베이스가 전달되지 않을 때 전달된 베이스는 기본값이 10입니다. parseInt(num, 10). num 속성 유형에서는 문자열을 숫자로 변환하는 데 parsInt를 사용하지 마세요.

js에서 ParseFloat 사용:

16진수를 구문 분석하지 않는다면 이는 매우 좋은 선택입니다. 예:

parseInt(-0xFF) // returns -255
parseInt("-0xFF") // returns -255
parseFloat(-0xFF) // returns -255
parseFloat("-0xFF") // returns 0

참고: 문자열의 음수 16진수는 특별한 경우이며,parseFloat로 구문 분석하면 결과가 올바르지 않습니다. 프로그램에서 NaN 상황을 방지하려면 변환된 값을 확인해야 합니다.

parseFloat('44.jpg') // return 44

parseFloat: 16진수를 변환할 때는 주의하세요. 변환하려는 객체의 유형을 모르는 경우에는parseFloat를 사용하지 마세요.

js에 없는 Bitwise:

문자열을 정수로 변환할 수 있지만 부동 소수점 숫자는 아닙니다. 문자열 변환인 경우 0을 반환합니다.

~~1.23 // returns 1
~~"1.23" // returns 1
~~"23" // returns 23
~~"Hello world" // returns 0

원리는 무엇인가요? 뒤집어서) 각 비트는 A1의 보수라고도 알려져 있습니다. 사용할 수 있지만 정수를 저장하는 데에만 사용할 수 있습니다. 따라서 일반적으로 숫자가 32비트 정수 사이인지 확신할 수 없으면(ToInt32 호출 사양으로 인해) 사용하지 마세요.

Bitwise NOT: 입력에 문자가 없고 정수만 있는지 확인하려면 이 옵션을 사용하세요.

js에서 Number의 사용:

Number는 위에서 언급한 변환 방법과 동일한 문제가 있습니다. 구문 분석 시 사용자가 제공한 숫자를 찾으려고 합니다.

Number("023") // returns 23
Number(023) // returns 19

참고: 023은 실제로 8진수입니다. 어떻게 수행하든 작은따옴표나 큰따옴표가 없는 16진수에 대해 동일하게 19를 반환합니다.

Number는 JsPerf에서 가장 느린 것 중 하나이기도 합니다.

번호: 거의 사용하지 않습니다.

js에서 단항 연산자 사용:

"1.23" * 1 // returns 1.23
"0xFF" - 0 // returns 255
"0xFF.jpg" / 1 // returns NaN
+"023" // returns 23

단항 연산자는 다른 구문 분석 방법과 다릅니다. NaN 값이면 NaN도 반환합니다. 이것은 숫자 값을 변환하는 데 제가 가장 좋아하는 방법입니다. 왜냐하면 문자가 있는 객체는 비트 수에 따라 0 또는 "추측"으로 처리되어야 한다고 생각하지 않기 때문입니다. 기본적으로 + 연산자를 사용하는 이유는 덜 혼란스럽기 때문입니다. -0을 사용하는 것은 좋지만 숫자로 변환하려는 의도를 제대로 전달하지는 않습니다.

문자열이 숫자로 변환되는 방식 요약:

음수 16진수 문자열이 숫자로 변환됩니다. 먼저 문자열로 변환해야 하는 모든 항목(예: + "" 를 통해)을 사용한 다음 단항 연산자 또는 기수를 사용하는 구문 분석기(parseInt)를 사용하여 숫자로 구문 분석합니다. 그러나 결과가 NaN 값이 아닌 경우에는parseFloat를 사용하는 것이 더 적합합니다.

관련 권장 사항:

js 문자열을 number_javascript 기술로 변환하는 코드

jsparseInt 문자열의 처음 몇 숫자를 int

로 변환합니다.

위 내용은 js에서 문자열을 숫자로 변환하는 방법은 무엇입니까? js를 사용하여 문자열을 숫자로 변환하는 5가지 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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