Number()、parseInt()、および parseFloat() の数値変換
数値以外の値を数値に変換できる関数は 3 つあります: Number()、parseInt()、parseFloat()。最初の関数である変換関数 Number() は任意のデータ型に使用できますが、他の 2 つの関数は特に文字列を数値に変換するために使用されます。これら 3 つの関数は、同じ入力に対して異なる結果になります。
Number()関数の変換ルールは以下の通りです
ブール値の場合はtrue、falseはそれぞれ1、0に変換されます
数値の場合はそのまま渡されます。
null 値の場合は 0 が返されます。
未定義の場合は NaN が返されます。
文字列の場合は、次の規則に従います。
文字列に数値のみが含まれる場合は、10 進数値に変換します。レベル "1" は 1 になり、"123" は 123 になり、"011" は 11 になります (前の 0 は無視されます)
文字列に "1.1" などの有効な浮動小数点形式のみが含まれている場合は、変換されます対応する浮動小数点値に変換されます (同様に、先頭のゼロは無視されます)
文字列に「0xf」などの有効な 16 進形式のみが含まれている場合、同じサイズの 10 進整数値に変換されます
文字列が空(文字が含まれていない)の場合は、0に変換します
文字列に上記形式以外の文字が含まれている場合は、NaNに変換します
オブジェクトの場合は、オブジェクトのvalueOf()メソッドを呼び出し、返された値を変換します前のルールに従った値。変換の結果が NaN の場合、オブジェクトの toString() を呼び出してさまざまなデータ型を数値に変換するのは確かに少し複雑です。具体的な例をいくつか示します:
var num1 = Number("Hello world!"); //NaN var num2 = Number(""); //0 var num3 = Number("000011"); //11 var num4 = Number("true"); //1
まず、文字列「Hello world!」は、意味のある数値が含まれていないため、NaN に変換されます。空の文字列は 0 に変換されます。文字列「000011」は、先頭のゼロが無視されるため、11 に変換されます。最後に、真の値は 1 に変換されます。
Number() 関数は文字列を変換する場合には複雑で不合理であるため、整数を処理する場合には parseInt() 関数がより一般的に使用されます。 parseInt() 関数が文字列を変換する場合、文字列が数値パターンに準拠しているかどうかに大きく依存します。最初の非スペース文字が見つかるまで、文字列内の先頭のスペースは無視されます。最初の文字が数字または負符号でない場合、parseInt() は NaN を返します。つまり、parseInt() を使用して空の文字列を変換すると、NaN が返されます (Number() は空の文字列に対して 0 を返します)。最初の文字が数字の場合、parseInt() は後続の文字がすべて解析されるか、数字以外の文字が検出されるまで 2 番目の文字の解析を続けます。たとえば、「blue」は完全に無視されるため、「123blue」は 1234 に変換されます。同様に、「22.5」は小数点が有効な数字ではないため、22 に変換されます。
文字列の最初の文字が数字の場合、parseInt() はさまざまな整数形式 (つまり、10 進数、8 進数、16 進数) も認識できます。つまり、文字列が「0x」で始まり、その後に数字が続く場合は 16 進整数として扱われ、文字列が「0」で始まり、その後に数字が続く場合は 8 進数として扱われます。 。
parseInt() 関数の変換規則をよりよく理解するために、以下にいくつかの例を示します:
var num1 = parseInt("1234blue"); //1234 var num2 = parseInt(""); //NaN var num3 = parseInt("0xA") //10(十六进制) var num4 = parseInt("22.5"); //22 var num5 = parseInt("070"); //56(八进制) var num6 = parseInt("70"); //(70)十进制 var num7 = parseInt("0xF") //15(十六进制)
これらの例を理解するとき、最も重要なことは、parseInt() が "070" と " をどのように解析するかに注意を払うことです。 70インチ さまざまな方法。このとき、「070」の先頭のゼロは、これが 8 進数 (10 進数ではない) 形式の文字列であることを示しているため、結果は 56 になります (この結果は Number() 関数の呼び出しとは異なることに注意してください)。また、「70」は先頭にゼロがないため、70 に変換されます。 parseInt() 関数の使用時に発生する可能性のある上記の混乱を避けるために、ECMAScript はこの関数の 2 番目のパラメータ、つまり変換に使用されるベース (つまりベース) も提供します。
解析する値が 16 進形式の文字列であることを知りたい場合は、2 番目のパラメーターとして基数 16 を指定すると、正しい結果が得られます。例:
var num = parseInt("0xAF", 16) ); //175
実際には、2 番目のパラメータとして 16 が指定されている場合、以下に示すように、文字列の前に「0x」がなくてもかまいません:
var num1 = parseInt("AF", 16); //175 var num2 = parseInt("AF"); //NaN
この例の最初の変換は成功し、2 番目の変換は失敗しました。違いは、最初の変換では基数を渡し、parseInt() に文字列を 16 進数形式で解析するように明示的に指示するのに対し、2 番目の変換では最初の文字が数値ではないことが検出されるため、自動的に終了することです。
基数の指定は、変換の出力結果に影響します。例:
var num1 = parseInt("10", 2); //2 var num2 = parseInt("10", 8); //8 var num3 = parseInt("10", 10); //10 var num4 = parseInt("10", 16); //16
ベースを指定しないということは、parseInt() に入力文字列の解析方法を決定させることを意味するため、誤った解析を避けるために、どのような状況であっても、特に次のような状況ではベースを明示的に指定することをお勧めします。 8 進数:
var num1 = parseInt("010"); //8 var num2 = parseInt("010", 8); //8 var num2 = parseInt("010", 10); //10
在这个例子中,“010”会因为第二个参数不同而被转换成不同的值。第一行的转换很直观,即让parseInt()决定如何转换。由于第一个字符是 “0”而后面也是数字字符,因而parseInt()假设它是一个八进制数。实际上,parseInt()的这个默认行为域第二行转换中明确了基数行为是 一致的。第三行传入基数10,因此parseInt()就会忽略字符串中的前导零,而只解析其余的数字符。
多数情况下,我们要解析的都是十进制数值,因此始终将10作为第二个参数是非常必要的。
与parseInt()函数类似,parseFloat()也是从第一个字符(位置0)开始解析每个字符。而且也是一直解析到字符串末尾,或者解析 到遇见一个无效的浮点数字字符为止。也就是说,字符串中的第一个小数点是有效的,而第二个小数点是无效的,因此它后面的字符串将被忽略。举例来 说,“22.34.5”将会被转换为22.34。
除了第一个小数点有效之外,parseFloat()与parseInt()的第二个区别在于它始终都会忽略前导零。parseFloat()可以 识别前面讨论过的所有浮点数值格式,也包括十进制整数格式。但十六进制格式的字符串始终会被转换为0。由于parseFloat()只解析十进制值,因此 它没有用第二个参数指定基数的用法。最后还要注意一点:如果字符串包含的是一个可解析为整数的数(没有小数点,或者小数点后面都是 零),parseFloat()会返回整数。以下是使用parseFloat()转换数值的几个典型示例:
var num1 = parseFloat("1234blue"); //1234 var num1 = parseFloat("0xA"); //0 var num1 = parseFloat("22.5"); //22.5 var num1 = parseFloat("22.34.5"); //22.34 var num1 = parseFloat("0908.5"); //908.5 var num1 = parseFloat("3.125e7"); //31250000
以上がNumber()、parseInt()、および parseFloat() の数値変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









全角の英字を半角に変換する実践的なヒント. 現代の生活において私たちは英語の文字に触れる機会が多く、パソコンや携帯電話などを使用する際に英語の文字を入力する必要が多くなります。ただし、場合によっては全角の英字が登場するため、半角形式を使用する必要があります。では、全角の英字を半角に変換するにはどうすればよいでしょうか?ここでは、いくつかの実践的なヒントを紹介します。まず、全角英数字とはインプットメソッド内で全角の位置を占める文字のことを指しますが、半角英数字は全角の位置を占めます。

Golang の時間変換: タイムスタンプを文字列に変換する方法 Golang では、時間操作は非常に一般的な操作の 1 つです。表示や保存を容易にするために、タイムスタンプを文字列に変換する必要がある場合があります。この記事では、Golang を使用してタイムスタンプを文字列に変換する方法と、具体的なコード例を紹介します。 1. タイムスタンプと文字列の変換 Golang では、タイムスタンプは通常、1970 年 1 月 1 日から現在時刻までの秒数を表す整数の形式で表現されます。文字列は

この記事では、PHPの月を英語の月に変換する方法と具体的なコード例を詳しく紹介します。 PHP 開発では、デジタル月を英語の月に変換する必要がある場合があります。これは、一部の日付処理またはデータ表示シナリオでは非常に実用的です。以下に実装原理、具体的なコード例、注意点について詳しく説明します。 1. 実装原理 PHP では、DateTime クラスと format メソッドを使用して、デジタル月を英語の月に変換できます。日付

QQ Music を使用すると、誰でも映画を楽しんだり、退屈を解消したりすることができます。このソフトウェアを毎日使用して、あなたのニーズを簡単に満たすことができます。誰もが聴くことができる高品質の曲が多数用意されています。ダウンロードして保存することもできます。次回聴くときはインターネット接続は必要ありません。ここでダウンロードした曲は MP3 形式ではないため、他のプラットフォームでは使用できません。メンバーシップ曲の有効期限が切れると、再度聴くことはできません。そのため、 , 多くの友人が曲を MP3 形式に変換したいと考えています。ここでは、編集者が説明します。誰もが使用できるように方法を提供しています。 1. コンピュータで QQ Music を開き、右上隅の [メインメニュー] ボタンをクリックし、[オーディオトランスコーディング] をクリックし、[曲を追加] オプションを選択して、変換する必要がある曲を追加します; 2. 追加した後、曲をクリックして [mp3] に変換を選択します

PHP チュートリアル: Int 型を文字列に変換する方法 PHP では、整数データを文字列に変換するのが一般的な操作です。このチュートリアルでは、PHP の組み込み関数を使用して int 型を文字列に変換する方法を、具体的なコード例を示しながら紹介します。キャストを使用する: PHP では、キャストを使用して整数データを文字列に変換できます。この方法は非常に簡単で、整数データの前に(文字列)を追加するだけで文字列に変換できます。以下は簡単なサンプルコードです

全角英文字を半角文字に変換する方法 日常生活や仕事の中で、パソコンのパスワードを入力するときや文書を編集するときなど、全角英文字を半角文字に変換する必要がある場面に遭遇することがあります。レイアウトの設計。全角英数字は漢字と同じ幅の文字を指し、半角英数字はそれより狭い幅の文字を指します。実際の運用では、文字や数字をより便利に処理できるように、全角英字を半角文字に変換する簡単な方法をマスターする必要があります。 1. 全角英字と半角英字

PHP での ASCII 値の変換は、プログラミングでよく遭遇する問題です。 ASCII (American Standard Code for Information Interchange) は、文字を数値に変換するための標準エンコード システムです。 PHP では、ASCII コードを介して文字と数値の間で変換する必要があることがよくあります。この記事では、PHP で ASCII 値を変換する方法と具体的なコード例を紹介します。 1. キャラクターを変更する

EXE から PHP へ: 機能拡張を実現する効果的な戦略 インターネットの発展に伴い、より幅広いユーザー アクセスとより便利な操作を実現するために、ますます多くのアプリケーションが Web に移行し始めています。その過程で、本来EXE(実行可能ファイル)として動作する機能をPHPスクリプトに変換する需要も徐々に高まっています。この記事では、EXE を PHP に変換して機能拡張を実現する方法と、具体的なコード例を説明します。 EXE を PHP に変換する理由 クロスプラットフォーム対応: PHP はクロスプラットフォーム言語です
