この記事では、Js の parseInt 関数 を紹介します。必要な友達は参照してください
非常に人気のある例 parseInt("09")==0 から始めましょう。
parseInt(number,type) この関数の後に基数を表す 2 番目のパラメーターが続かない場合、デフォルトは 10 進数です。
たとえば、parseInt("010",10) は 10 進数の結果: 10、
parseInt("010",2) は 2 進数の結果: 2、
parseInt("010",8) は 8 進数の結果です。二進法: 8 の結果、
parseInt("010",16) は二進法: 16 の結果です。
基本単位が指定されていない場合、デフォルトは 10 進数とみなされます。0 で始まる場合は 8 進数とみなされます。 16進数で作られました。
parseInt("10")==>parseInt("010",10)===>10parseInt("010")==>parseInt("010",8)==>8parseInt("0x10 ")==>parseInt("010",16)==>16.
ここではスムーズに進みました。
多くのことが期待したほどスムーズではありません。たとえば、Number が指定した通常の数値ではない場合、どうやって説明すればいいでしょうか?いくつかの情報を確認すると、次のようになります:
parseInt(Number) 中央の Number が数値 (0 ~ 9) ではないものに遭遇した場合、解析は中断され、その前の値のみが数値ではありません。数値は計算に使用されます。たとえば、parseInt("100")===》parseInt("100",10)==>100 および parseInt("0100x" と同等の parseInt(" 100x")) です。 )===>parseInt("0100") ===>parseInt("100",8)===>64.
ここで無視されているように見える点の 1 つは、 16 進法では、x に遭遇しても無視します。試してみたところ、この特別な処理の後、
たとえば、parseInt("0x10")===>parseInt("10",16)===>16 は上位の結果と一致しますが、先ほどと同じではありません。つまり、文字が自動的に解析されない場合は、parseInt("0") の違反として理解する必要があります。
ここで注意が必要です。parseInt の Number は次のようになります。最初の値が 0 でなく、文字でない場合は、すべてが通常どおり実行され、終了した時点で停止します。ある手紙に出会う。最初の値が 0 の場合は、次の値に注意する必要があります。数値以外の場合は、上記のルールに従ってください。たとえば、parseInt("0xt")==>parseInt("0x")==>parseInt("",16) は NaN です。
要約すると、parseInt(Number) の値: 最初の数字が 0 でない場合、文字に遭遇すると解析が停止され、最初の数字が 10 進数の場合は文字の前の値が解析されます。文字の場合、値は Empty、空は NaN になります
例: parseInt("a")==>parseInt("",10)==>NaN.parseInt("10a")==>parseInt ("10")= =>parseInt("10",10)==>10;
最初の数字が 0 で、2 番目の数字が x ではない場合、上記のように文字に遭遇すると解析が停止します。 、文字の前の値を 8 Base として使用して解析します。例: parseInt("0a")==>parseInt("0")==>parseInt("0",10)==> ;0.PS: これは少し特殊です。0a は 0 に解析され、8 進法と見なされる構造を持っていないためです。次のことは明らかです。
parseInt("010a")==>parseInt("010")==>parseInt("10",8)==>8;最初の桁が 0、2 番目の桁が x の場合、上記と同様、文字に遭遇すると解析を停止し、文字の前の値を 16 進数として解析します。例: parseInt("0xt")==>parseInt("",16)==>NaN.parseInt ("0x12t")==>parseInt("12",16)==>18.
以上がjs の parseInt 関数の簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。