자바스크립트에서 숫자값을 강제로 변환하는 방법은 무엇입니까? (방법 요약)

不言
풀어 주다: 2018-09-20 17:45:47
원래의
3128명이 탐색했습니다.

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

Javascript 데이터 유형은 기본 데이터 유형과 참조 데이터 유형으로 구분됩니다.

기본 데이터: Number, Boolean, Undefine, Null, String;

참조 데이터: Object;

0.000...01일 때 소수점은 7보다 크거나 같음 숫자가 20000...00일 때 정수 부분이 22자리 이상이면 과학 표기법으로 자동 변환됩니다.

Number(x): 매개변수

    매개변수가 Number 유형인 경우: 올바르게 출력될 수 있습니다.
  • console.log(Number(1));        //1
    console.log(Number(1e-7));    //1e-7
    console.log(Number(0b111));  //7
    console.log(Number(NaN));   //NaN
    로그인 후 복사
    매개변수가 Boolean 유형인 경우: true->1;fasle-> ;0;
  • console.log(Number(true));  //1
    console.log(Number(false)); //0
    로그인 후 복사
    매개변수가 정의되지 않은 경우: 해당 값은 NaN
  • console.log(Number(undefined)); //NaN
    로그인 후 복사
    매개변수가 null인 경우:
  • console.log(Number(null));    //0
    로그인 후 복사
    매개변수가 문자열 유형인 경우:
  • //数字字符串
    console.log(Number("123"));   //123
    console.log(Number("-123"));  //-123
    console.log(Number("12.3"));  //12.3
    console.log(Number("1e-7"));  //1e-7
    console.log(Number("0xff"));  //255
    console.log(Number("00123")); //123    
    console.log(Number("   123")); //123
    console.log(Number("\t\n123")); //123
    로그인 후 복사
    //数字+字符或全字符字符串
    console.log(Number('a123'));  //NaN
    console.log(Number("false")); //NaN
    console.log(Number("a123"));  //NaN
    로그인 후 복사
    //空串或者空格字符串
    console.log(Number("\t\n"));   //0
    console.log(Number("  "));     //0
    console.log(Number(""));       //0
    로그인 후 복사
    매개변수 유형은 Object입니다. 먼저 .valueOf()를 수행하고, 객체를 얻은 경우 기본 데이터 유형을 얻을 때까지 toString()을 수행합니다(예: {}.valueOf().toString() = " [객체 객체]" 숫자의 최종 결과는 NaN입니다
  • console.log(Number({}));  //NaN
    console.log(Number([1])); //1
    console.log(Number([1,2]));  //NaN
    cosole.log(Number([]));    //0
    로그인 후 복사
  • parseInt(x,y): 매개변수 2개,

과정은 다음과 같습니다. 먼저 String(x)를 문자열로 변경한 다음 값을 a로 변환합니다. y를 기수로 하는 십진수, no 10을 채워 y의 범위: [2,36]

매개변수가 없을 때 y:

    x 매개변수가 숫자인 경우: 주의할 점 타입 0.001, 1e-7의 값은 소수점을 반올림합니다. (e) 다음 값은 이전 값으로 반환됩니다.
  • console.log(parseInt(123));   //123
    console.log(parseInt(1e-7));  //1
    console.log(parseInt(0xff));  //255
    console.log(parseInt(NaN));   //NaN
    console.log(parseInt(0.00001)); //0
    로그인 후 복사
    x 매개변수가 부울, 정의되지 않음, null인 경우:
  • console.log(parseInt(true));  //NaN
    console.log(parseInt(false)); //NaN
    console.log(parseInt(undefined)); //NaN
    console.log(parseInt(null));    //NaN
    로그인 후 복사
    x 매개변수가 문자열인 경우 유형: 시공간 문자열, 공백 문자열, 숫자 + 문자
  • console.log(parseInt(""));   //NaN
    console.log(parseInt("-123"));  //-123
    console.log(parseInt("  "));  //NaN
    console.log(parseInt("\t\n"));   //NaN
    console.log(parseInt("a123")); //NaN
    console.log(parseInt("123a")); //123
    로그인 후 복사
매개변수 y일 때, y가 0일 때, null, undefine, NaN, y는 무시되고 기본값은 10으로 설정됩니다. [2, 36]의 범위를 초과하면 x 값을 다음과 같이 표현할 수 있을 때 NaN이 반환됩니다. y 베이스, NaN이 반환됩니다. 몇 가지만
  • console.log(parseInt({1:2}));   //"[object Object]"->NaN
    console.log(parseInt([]));      //""->NaN
    console.log(parseInt([1,2]));   //"1,2"->//1
    로그인 후 복사
    parseFloat(x): 부동 소수점 숫자와 과학적 표기법을 올바르게 표현할 수 있지만 문자열 베이스 숫자를 올바르게 표현할 수 없는 매개변수입니다. parseInt(x,10)
console.log(parseInt("f",2));   //NaN
console.log(parseInt("11f",2);  //3
console.log(parseInt("123",37)); //NaN
console.log(parseInt("0xff",0));  //255
console.log(parseInt("0xff",NaN)); //255
console.log(parseInt("ff",[]));  //NaN
로그인 후 복사
와 동일 String(), .toString()
  • First: undefine, null toString() 속성이 없으며 String(undefiend)

Second만 전달할 수 있습니다. : y.toString(x), 이는 대상을 변경한다는 의미 y 값을 기본 x

    console.log(parseFloat(0xff));  //255
    console.log(parseFloat("0xff"));  //0  
    console.log(parseInt("0xff"));   //255  个人猜测parseInt(x,y)有y的存在所以能正确输出
    console.log(parseFloat(1e22));   //1e22
    console.log(parseFloat(1e-7));   //1e-7
    console.log(parseFloat("00123"));  //123
    console.log(parseFloat(" "));     //NaN
    로그인 후 복사
    의 값으로 변환합니다.

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

    관련 라벨:
    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿