JS parseInt()、parseFloat()、Number()

導入:

parseInt(文字列, 基数)

pressFloat(文字列)

番号(オブジェクト)

例:

要約:

parseInt(文字列, 基数)

pressFloat(文字列)

番号(オブジェクト)


導入:

parseInt(文字列, 基数)

定義: 文字列を解析し (文字列でない場合は文字列に変換します)、指定した基数の 10 進整数を返します。基数は 2 ~ 36 の整数で、解析された文字列の基数を示します。

動作原理:文字の解析を左から右に 1 つずつ開始し、文字列全体が解析されるか、解析中に数値以外の値が検出されるか、解析中に小数点が検出されるまで、解析を中止して解析された部分を返します。

pressFloat(文字列)

定義: 文字列を解析して浮動小数点数を返す関数。

動作原理:文字列全体が解析されるか、解析中に数値以外の値が検出されるか、解析中に小数点 2 番目が検出されるまで、左から右に 1 つずつ文字の解析を開始し、その後解析を中止して解析された部分を返します。

番号(オブジェクト)

定義: この関数は、オブジェクトの値を数値に変換して返します。

動作原理: parseInt やparseFloat と比較すると、Number はオブジェクト全体を解析した後に結果を返します。

例:

// 整数 字符串
let param = '18'; 
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18
console.log(Number(param)) // 18

// 小数 字符串
let param = '18.2'; 
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18
console.log(Number(param)) // 18

// 整数前面带有0的 字符串
let param = '000018.2'; 
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18.2
console.log(Number(param)) // 18.2

// 空 字符串
let param = ''; 
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // 0

// 多个逗号 字符串
let param = '18.2.3'; 
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18.2
console.log(Number(param)) // NaN

// 数值后带有非数值 字符串
let param = '18px'; 
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18
console.log(Number(param)) // NaN

// 数值前带有非数值 字符串
let param = 'px18'; 
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // NaN


特殊情况:
// null
let param = null; 
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // 0

// undefined
let param = undefined; 
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // NaN

// Boolean
let param = true; 
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // 1

// Boolean
let param = false; 
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // 0

// Date
let param = new Date(); 
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // 1655278285053

// Array
let param = new [18]; 
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18
console.log(Number(param)) // 18

要約:

parseInt(文字列, 基数)

例: parseInt('100', 2) 次に、100 が 2 進数として解析され、10 進整数が生成されます。

  1. 受信パラメータの最初と最後の桁がスペースである場合、それらは無視されます。
  2. 配列が渡されると、添え字が 0 である要素が解析され、解析結果が返されます。
  3. 基数が 2 未満で 36 より大きい場合はNaNを返します。
  4. 基数が未定義の場合は0または不定の場合。
    1. と入力するとstring 以 0x 或 0X(一个 0,后面是小写或大写的 X)开头、基数は 16 とみなされ、文字列の残りの部分は 16 進数として解析されます。
    2. を入力した場合string 以 "0"(0)开头、基数は 8 (8 進数) または 10 (10 進数) であるとみなされます。どの基数を選択するかは実装に依存します。ECMAScript 5 では、10 (10 進数) を使用する必要があることが明確にされていますが、すべてのブラウザーがそれをサポートしているわけではありません。
    3. を入力した場合、基数は 10 (10 進数) になります。 string 以1 ~ 9开头

pressFloat(文字列)

  1. 入力に科学表記法のプラス、その文字とすべての文字が無視されます。その後に続けて、解析された部分を返します。
  2. 入力に ​​2 番目の小数点が含まれている場合も、解析は停止します。
  3. 受信パラメータの最初と最後の桁がスペースである場合、それらは無視されます。
  4. 渡された引数文字列の最初の文字を数値として解析できない場合は、 NaNを返します
  5. 配列が渡されると、添え字が 0 である要素が解析され、解析結果が返されます。

番号(オブジェクト)

  1. 受信したブール値が true の場合は1を返し、ブール値が false の場合は0を返します。
  2. 未定義が渡された場合はNaNを返します。
  3. null が渡された場合は0を返します。
  4. Date が渡された場合は、ミリ秒
  5. 配列で渡された場合
    1. 配列の長さが 1 の場合、添え字 0 の要素が数値に変換され、結果が返されます。
    2. 長さが 1 より大きい場合は、NaNを返します。
  6. 通常の値が渡された場合、に渡された
  7. 渡されたオブジェクトの値を数値に変換できない場合は、NaNを返します。
  8. 文字列が渡された場合
    1. 空の文字列が渡された場合は0を返します。
    2. 受信文字列に「0xf」などの有効な 16 進形式が含まれている場合は、それ以外の場合は同じサイズの 10 進整数値に変換します。
    3. 文字列に数値のみが含まれている場合 (先頭に正または負の符号が付いている場合も含む)、文字列を 10 進数値に変換します。つまり、「1」は 1、「123」は 123、「011」は 11 (先頭にゼロが付きます) になります。無視されます)。
    4. 文字列に「1.1」などの有効な浮動小数点形式が含まれている場合は、対応する浮動小数点値に変換されます (先頭のゼロも無視されます)。
    5. 文字列に上記の形式以外の文字が含まれている場合は、その他の文字をNaNに戻します。

お役に立てれば、小さな手をケチらずに、4連続いいねとコレクション+コメントフォローに来てください!

おすすめ

転載: blog.csdn.net/weixin_43221910/article/details/125314893