parseInt() メソッドには、2 進数、8 進数、16 進数、またはその他の基本文字列を整数に変換できる基本モードもあります。基数は parseInt() メソッドの 2 番目のパラメータで指定されるため、16 進値を解析するには、次のように parseInt() メソッドを呼び出す必要があります。
2 行 このコードは文字列「010」を数値に解析します。コードの最初の行は、この文字列を 8 進数値として扱い、コードの 2 行目 (基数 8 を宣言) と同じ方法で解析します。コードの最後の行では基数 10 を宣言しているため、iNum3 は最終的に 10 になります。
parseFloat() メソッドは parseInt() メソッドに似ています。このメソッドは、位置 0 から最初の無効な文字が見つかるまで各文字を調べ、その文字の前の文字列を数値に変換します。ただし、このメソッドの場合、最初の小数点は有効な文字です。小数点が 2 つある場合、2 番目の小数点は無効とみなされ、parseFloat() メソッドはこの小数点より前の文字列を数値に変換します。これは、文字列「22.34.5」が 22.34 として解析されることを意味します。
parseFloat() メソッドを使用する場合のもう 1 つの違いは、文字列が浮動小数点数を 8 進数または 16 進数形式ではなく 10 進数形式で表す必要があることです。
メソッドは先頭の 0 を無視するため、8 進数 0908 は 908 として解析されます。 16 進数 0xA の場合、x は浮動小数点数では有効な文字ではないため、メソッドは NaN を返します。さらに、parseFloat() には基本モードがありません。
parseFloat("1234blue"); //1234.0 を返す
parseFloat("0xA") //NaN を返す
parseFloat("22.5");
parseFloat("22.34 .5"); // 22.34 を返します
parseFloat("0908"); // 908 を返します
parseFloat("blue") // NaN を返します
2. Forced type conversion
You can also use type casting to process the type of the converted value. Use a cast to access a specific value, even if it is of another type.
The three types of casts available in ECMAScript are as follows:
Boolean(value) - Convert the given value into Boolean type;
Number(value) - Convert the given value into a number (Can be an integer or floating point number);
String(value) - Convert the given value into a string.
Converting a value using one of these three functions will create a new value that stores the value directly converted from the original value. This can have unintended consequences.
The Boolean() function returns true when the value to be converted is a string, non-zero number, or object with at least one character (this will be discussed in the next section). If the value is an empty string, the number 0, undefined, or null, it returns false.
You can use the following code snippet to test Boolean type conversion.
Boolean(""); //false – empty string
Boolean("hi"); //true – non-empty string
Boolean(100); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object
Number()’s forced type conversion and parseInt() and parseFloat() method works similarly, except that it converts the entire value rather than a partial value. Remember, the parseInt() and parseFloat() methods only convert the string up to the first invalid character, so "4.5.6" will be converted to "4.5". Casting with Number(), "4.5.6" will return NaN because the entire string value cannot be converted to a number. If the string value can be completely converted, Number() will determine whether to call the parseInt() method or the parseFloat() method. The following table illustrates what happens when the Number() method is called on different values:
Usage results
Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100
The last cast method, String(), is the simplest because it can convert any value into a string. To perform this cast, just call the toString() method on the value passed in as a parameter, which converts 1 to "1", true to "true", false to "false", and so on. analogy. The only difference between casting to a string and calling the toString() method is that casting a null or undefined value produces a string without raising an error:
var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won't work, causes an error
3. Use weak type conversion of js variables
Give a small example, you will understand at a glance .
<script> <br>var str= '012.345 '; <br>var x = str-0; <br>x = x*1; <br></script>
The above example takes advantage of the weak type characteristics of js, only Arithmetic operations are performed and type conversion from string to number is implemented, but this method is still not recommended.