JavaScript在進行 「==」 判斷時會進行一些隱式轉化, 但是如果使用嚴格比較「===」來比較這兩個不同類型的對象,就會判斷失敗。
let number1 = 20;
let number2 = "20";
console.log(number1 == number2); //true
console.log(number1 === number2); //false現在在實際開發中一般推薦使用「===」來進行判斷,因為JavaScript中的隱式轉換太多了,使用嚴格相等來判斷會使得代碼更加穩定,可靠。比如對false的判斷,如果不使用「===」來進行判斷,這些值都會被被認為是false:
false 0 "" null undefined所以,在使用「===」之前需要轉換一下變數的類型。今天先總結一下JavaScript中將字元串轉換為數字的幾種方法。

parseInt()
parseInt(string)方法能將字元串轉換為整數。 此方法接受兩個參數,第一個參數是要解析的字元串,而第二個參數是radix, 表示要解析的數字的基數。該值介於 2 ~ 36 之間。
如果省略該參數或其值為 0,則數字將以 10 為基礎來解析。如果它以 「0x」 或 「0X」 開頭,將以 16 為基數。
如果該參數小於 2 或者大於 36,則 parseInt() 將返回 NaN。
let string = "42wisdom";
let integer = parseInt(string, 10);
console.log(integer); // 42parseFloat()
parseFloat(string) 方法將字元串轉換為帶浮點數的數字(帶小數點的數字)。該方法只有一個參數,如果字元串的第一個字元不能被轉換為數字,那麼 parseFloat() 會返回 NaN。
let string = "33.4so333meRandomStuff";
let pointNum = parseFloat(string);
console.log(pointNum);乘以1
let string1 = "234";
let string2 = "0.000003320";
let string3 = "23px";
let etring4 = "wisdom";
console.log(string1 * 1); // 234
console.log(string2 * 1); // 0.00000332
console.log(string3 * 1); // NaN
console.log(string4 * 1); // NaNNumber()
Number ()將字元串轉換為數字,但是如果傳入一個包含隨機文本的字元串,它將返回NaN。
Number("3455") //returns 3455
Number("0.9493") // returns 0.9493
Number("10.949e3") // returns 10949
Number('3.14someRandomStuff'); // returns NaN一元操作符
let string = '100';
+string // 100
let string2 = "wisdom"
+string2 // NaNMath.ceil
該方法一般用來對小數進行向上取整,它還接受字元串作為參數,也能將字元串轉換為數字。
let string1 = "101";
let string2 = "100.21";
let string3 = "bye";
Math.ceil(string1); // 101
Math.ceil(string2); // 101
Math.ceil(string3); // NaN
Math.ceil(""); // 0原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/281350.html
微信掃一掃
支付寶掃一掃