JavaScriptで数値を強制的に変換するにはどうすればよいですか? (方法の概要)

不言
リリース: 2018-09-20 17:45:47
オリジナル
3129 人が閲覧しました

この記事の内容はJavaScriptで数値を強制変換する方法についてです。 (方法の概要)は、必要な友人がそれを参考にできることを願っています。

JavaScript のデータ型は、基本データ型と参照データ型に分類されます。

基本データ: 数値、ブール値、未定義、Null、文字列;

参照データ: オブジェクト;

0.000...01の場合、小数点が7桁以上の場合は自動的に科学表記に変換されます

20000...00の場合、整数部22 桁以上の場合、自動的に科学表記に変換されます。

Number(x): 1 つのパラメータ;

  • パラメータが Number 型の場合: 正しく出力できます。

  • ##パラメータがブール型の場合: true->1;fasle->0;
  • console.log(Number(1));        //1
    console.log(Number(1e-7));    //1e-7
    console.log(Number(0b111));  //7
    console.log(Number(NaN));   //NaN
    ログイン後にコピー

  • パラメータが未定義: 値は NaN
  • console.log(Number(true));  //1
    console.log(Number(false)); //0
    ログイン後にコピー

    #パラメータが null の場合:
    console.log(Number(undefined)); //NaN
    ログイン後にコピー
  • パラメータがString型の場合:
    • 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
      ログイン後にコピー
    • パラメータの型がオブジェクトの場合:まず.valueOf()を実行し、オブジェクトが取得できたらtoStringを実行() を基本データ型が取得されるまで繰り返します。例: {}.valueOf().toString() = "[object Object]" 最終的な数値結果は NaN
      • //空串或者空格字符串
        console.log(Number("\t\n"));   //0
        console.log(Number("  "));     //0
        console.log(Number(""));       //0
        ログイン後にコピー
      • parseInt( x,y): 2 つのパラメーター、

        プロセスは次のとおりです。まず String(x) を文字列に変換し、次に y 基数を基数として使用して値を 10 進数に変換します。入力されていない場合は、 yの範囲: [2,36]
      • パラメータyがない場合:

        xパラメータが数値の場合: 相当0.001、1e-7 型の値は小数点以下が四捨五入されることに注意してください (e) の値は、前の値を返します。

          console.log(Number({}));  //NaN
          console.log(Number([1])); //1
          console.log(Number([1,2]));  //NaN
          cosole.log(Number([]));    //0
          ログイン後にコピー
        • x パラメータはブール値、未定義、null です:
          • 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 パラメータこれは String 型です。時空文字列、スペース文字列、および数字に注意する必要があります。
            • console.log(parseInt(true));  //NaN
              console.log(parseInt(false)); //NaN
              console.log(parseInt(undefined)); //NaN
              console.log(parseInt(null));    //NaN
              ログイン後にコピー
            • パラメータ x がオブジェクトの場合: .valueOf()も同様で、オブジェクトが取得できたら、基本データ型が取得できるまでtoString()を実行し、上記のルールに従って出力します。
            • パラメータ x、y の場合、y が 0、null、未定義、または NaN の場合、y は無視され、デフォルトの 10 が設定されます。[2, 36] の範囲を超える場合は、NaN が返されます。 x 値が y 基数で表現できる場合、残りはできるだけ多くの数値で表現できます。浮動小数点数と科学的表記法は正しく表現できますが、文字列の基数を正しく表現することはできません。残りは parseInt(x, 10) と同じです。
                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
                ログイン後にコピー
              • String(), .toString()## と同じです。

              • #1 つ目: 未定義、null には toString() 属性がなく、String(undefiend) のみを渡すことができます
                • 2 つ目: y.toString(x)、これは、ターゲット値 y を x ベースの値に変換することを意味します

                console.log(parseInt({1:2}));   //"[object Object]"->NaN
                console.log(parseInt([]));      //""->NaN
                console.log(parseInt([1,2]));   //"1,2"->//1
                ログイン後にコピー

                以上がJavaScriptで数値を強制的に変換するにはどうすればよいですか? (方法の概要)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

                関連ラベル:
                ソース:php.cn
                このウェブサイトの声明
                この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
                最新の問題
                人気のチュートリアル
                詳細>
                最新のダウンロード
                詳細>
                ウェブエフェクト
                公式サイト
                サイト素材
                フロントエンドテンプレート