背景: parseInt(0.006) または parseInt(0.0006) は 0 という値を返しますが、 parseInt(0.0000006) は 6 という奇妙な値を返すことに気づいたでしょうか。これはなぜでしょうか。 parseInt 関数とは何ですか? まず、parseInt() の機能は何でしょうか?これは js のネイティブ メソッドであり、数値文字列を Number 型の数値に変換するために使用され、整数部分のみを変換します。 解析は変換を意味し、Intは整数であり、目的はそれを整数に変換することです var num = parseInt(demo ,radix); //demoは変換したい数値です パラメータを渡す var デモ = "123"; var num = parseInt(デモ); console.log(typeof(num) + ":" + num); // 数値: 123 var デモ = true; var num = parseInt(デモ); console.log(typeof(num) + ":" + num); //数値: NaN var デモ = false; var num = parseInt(デモ); console.log(typeof(num) + ":" + num); //数値: NaN var デモ = 123.9; var num = parseInt(デモ); console.log(typeof(num) + ":" + num); //数値: 123、小数点以下を切り捨てずにそのまま切り捨てます var demo = "10"; var num = parseInt(デモ、16); console.log(typeof(num) + ":" + num); // 数値: 16 2つのパラメータを渡す方法 var num = parseInt(demo, radix); //radixは基数を意味します 説明:基数が16と記述されている場合、システムは16進数に基づいていると認識します。10(ゼロ)は16進数ではゼロであり、これは16進数に基づいています。これを10進数(つまり16)に変換します。上記はターゲット基数に基づいて10進数に変換されます(基数の範囲は2〜36です) 例: //1. parseInt(10,2) // 10は2進数とみなされ、10進数に変換されて2になるため、結果は2になります。 //2 var デモ = "123abc"; var num = parseInt(デモ); console.log(typeof(num) + “:” + num); //結果: 数値: 123 //parseIntは数値クラスから始まり、非数値クラスで停止するため、元の数値を返します 原因を探る 理想的な目標はすべての小数を 0 に変換することですが、parseInt (0.0000006) は 6 を返すため、これはとんでもない結果になります。 コンソール.log(parseInt(0.006)) //0 コンソール.log(parseInt(0.0006)) //0 コンソール.log(parseInt(0.00006)) //0 コンソール.log(parseInt(0.000006)) //0 コンソール.log(parseInt(0.0000006)) //6 帰国後、私は問題の原因とどこで発生したかを調査し始めました。 parseInt(0.0000006) //0.000006 文字列(0.0000006); //6e-7 parseInt(6e-7); //6 パースInt(0.0000006) //6 理由の要約 理由が分かりました。10 の -6 乗以降は複素数 (6e-7) に変わることがわかりました。次に、parseInt() を使用して 6e-7 の 6 を返します。最終的に返される値は 6 になります。 正しい 安全に小数点を返したい場合は、別の方法を使用する必要があります。 Math.floor(0.00006); //0 Math.floor(0.000006); //0 Math.floor(0.0000006); //0 この方法で、必要な値を取得できます。 要約する js の parseInt() の奇妙な動作に関するこの記事はこれで終わりです。js の parseInt() の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Linuxの一般ユーザー向けスケジュールタスクの詳細な説明
1. データベースを作成する 2. テーブルを作成する1. deptテーブルを作成する テーブル「d...
1. PRIMARY KEY(主キーインデックス)を追加するmysql>ALTER TABLE...
React は、ユーザー インターフェイスを構築するための JavaScript ライブラリです。F...
序文実際のプロジェクトの開発では、通常、プロジェクト開発フェーズ、テストフェーズ、最終オンラインフェ...
innodb_flush_methodのいくつかの典型的な値 fsync: InnoDB は fs...
Windowsユーザー向けDocker で openGauss を使用するopenGaussイメージ...
この記事は主にSQLシリアル番号取得コード例を紹介します。記事ではサンプルコードを詳細に紹介しており...
Firefox、Opera、その他のブラウザは Webdings フォントをサポートしていません。回...
会社の影響力が拡大し、製品が改良され続けるにつれて、関連するイメージデザインもそれに追いつき、徐々に...
目次1. 環境設備2. ToastコンポーネントとToastServiceを作成する2.1 Toas...
Dockerのインストール公式インストールスクリプトを使用して最新バージョンのDockerをインスト...
この記事の例では、計算機機能を実装するためのjsの具体的なコードを参考までに共有しています。具体的な...
目次2. pt-pmapを使用したスタック分析3. このコラムのボトルネックポイントの分析4. パー...
文法 背景: linear-gradient(direction,color-stop1,color...
Docker の基本的な操作を学習した後、コンテナにいくつかの基本的なアプリケーションをデプロイして...