ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptを整数に変換するにはどのような方法がありますか?

JavaScriptを整数に変換するにはどのような方法がありますか?

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-07-21 15:06:043817ブラウズ

JavaScript を整数に変換する方法は次のとおりです: 1. parseInt() メソッドを使用します。構文形式は「parseInt (文字列、解析する数値の基数)」です; 2. Math を使用します。 trunc() メソッドの構文形式は「Math.trunc(value)」です。

JavaScriptを整数に変換するにはどのような方法がありますか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

この記事では、数値 (または数値オブジェクト) を整数に変換するための JavaScript 関連のメソッドを列挙して説明します。

parseInt を使用する

parseInt の構文は次のとおりです: parseInt(string, radix)

パラメータ string は解析する文字列を表すか、オブジェクトにすることもできます。自動的に呼び出されます。オブジェクトの toString 関数は、解析する文字列を取得します。

parseInt の 2 番目のパラメータは、解析する数値の基数を指定できます。値は 2 ~ 36 であることに注意してください。パラメータが 2 未満または 36 より大きい場合、parseInt() は NaN を返します。たとえば、次のコードでは、結果は 8 になります。これにより、他の基数を 10 進数に簡単に変換できます。

parseInt(10,8) // 结果为8

パラメータの基数の値が 0 であるか、パラメータが設定されていない場合、 parseInt() は文字列に基づいて数値の基数を決定します。

たとえば、文字列が「0x」で始まる場合、parseInt() は文字列の残りの部分を 16 進整数に解析します。文字列が 0 で始まる場合、ECMAScript v3 では、parseInt() の実装で後続の文字を 8 進数または 16 進数として解析できます。 string が 1 ~ 9 の数字で始まる場合、parseInt() はそれを 10 進整数に解析します。

注意事項

1. 文字列の最初の数値のみが返されます。これはどういう意味ですか? 入力文字列が「123abc」、「123,123」の場合、結果は 123 となり、parseInt メソッドは次の非数値部分を自動的に無視します。

2. 入力文字列の先頭と末尾にスペースを使用できます。

3. parseFloat にも上記 2 つの特徴がありますが、この記事ではそれらに焦点を当てません。

Math.trunc を使用する

Math.trunc() メソッドは、数値の小数部分を削除し、整数部分だけを残します。たとえば、次のコード:

Math.trunc(13.37)    // 13
Math.trunc(42.84)    // 42
Math.trunc(0.123)    //  0
Math.trunc(-0.123)   // -0
Math.trunc("-1.123") // -1
Math.trunc(NaN)      // NaN
Math.trunc("foo")    // NaN
Math.trunc()         // NaN

入力された型が数値ではない場合、中毒的な変換が自動的に実行されます。ただし、数値以外のパラメータの場合は、NaN が返されます。

IE ブラウザはこのメソッドをサポートしていないため、polyfill:

Math.trunc || (Math.trunc = function(v){
   return v < 0 ? Math.ceil(v) : Math.floor(v); // 使用Math.floor和Math.ceil方法
})
// 或者
if (!Math.trunc) {
    Math.trunc = function(v) {
        v = +v;
        if (!isFinite(v)) return v;
        
        return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
        
        // 返回:
        //  0        ->  0
        // -0        -> -0
        //  0.2      ->  0
        // -0.2      -> -0
        //  0.7      ->  0
        // -0.7      -> -0
        //  Infinity ->  Infinity
        // -Infinity -> -Infinity
        //  NaN      ->  NaN
        //  null     ->  0
    };
}

バイナリ ビット操作を検討できます

数値オブジェクト n については、整数に変換できます:

  • ~~n Double ビット単位 NOT

  • n | n ビット単位 OR 演算 (ビット単位 OR)

  • n | 0 とのビット単位 OR (0 とのビット単位 OR)

  • n <<0 ビット左シフト演算 0 ビット (ビット単位左シフト)

  • n >> 0 ビット右シフト演算 0 ビット (ビット単位右シフト)

  • n & n は AND 演算 (ビット単位 AND)

たとえば、コードは次のとおりです。

   ~~1.23 // 1
   -1.2 | -1.2  // - 1
   -1.2 | 0  // - 1
   3.4 >> 0 // 3
   3.2 << 0 // 3
   5.5 & 5.5 // 5
  ~~"1.2" // 1.2

上記からわかるように、文字列はビット単位の演算で数値を自動的に変換します。

[推奨学習: JavaScript 上級チュートリアル]

以上がJavaScriptを整数に変換するにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。