Rumah >hujung hadapan web >tutorial js >Bagaimana untuk menukar rentetan kepada integer dalam JavaScript tanpa menggunakan fungsi parseInt()?
parseInt() ialah fungsi terbina dalam JavaScript yang menghuraikan rentetan dan mengembalikan integer. Walau bagaimanapun, kadangkala kita ingin menukar rentetan kepada integer tanpa menggunakan fungsi ini. Dalam artikel ini, kami akan meneroka cara melakukan ini.
Salah satu cara untuk menukar rentetan kepada integer ialah menggunakan operator tambah unary. Operator ini menukarkan operannya kepada nombor. Contohnya, atur cara berikut menukar rentetan "123" kepada nombor 123 -
<html> <head> <title>Examples</title> </head> <body> <div id="result1"></div> <div id="result2"></div> <div id="result3"></div> <script> let str = "123"; document.getElementById("result1").innerHTML = typeof str; let num = +str; // num = 123 document.getElementById("result2").innerHTML = num; document.getElementById("result3").innerHTML = typeof num; </script> </body> </html>
Operator tambah unari juga boleh digunakan untuk menukar nilai lain kepada nombor. Contohnya, ia boleh menukar nilai Boolean kepada nombor seperti yang ditunjukkan di bawah −
<html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> let bool = true; let num = +bool; // num = 1 document.getElementById("result").innerHTML = num </script> </body> </html>
Cara lain untuk menukar rentetan kepada nombor adalah dengan menggunakan fungsi Number() Fungsi ini dalam hujah dan mengembalikan nombor. Contohnya, kod berikut menukar rentetan "123" kepada nombor 123 −
<html> <head> <title>Examples</title> </head> <body> <div id="result1"></div> <div id="result2"></div> <div id="result3"></div> <script> let str = "123"; document.getElementById("result1").innerHTML = typeof str; let num = Number(str); // num = 123 document.getElementById("result2").innerHTML = num; document.getElementById("result3").innerHTML = typeof num; </script> </body> </html>
Nombor()Fungsi ini juga boleh digunakan untuk menukar yang lain nilai kepada nombor. Sebagai contoh, ia boleh menukar nilai Boolean kepada nombor seperti yang ditunjukkan di bawah -
<html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> let bool = false; let num = Number(bool); // num = 1 document.getElementById("result").innerHTML = num </script> </body> </html>
Math.floor() fungsi mengembalikan integer terbesar kurang daripada atau sama dengan nombor tertentu . Fungsi ini boleh digunakan untuk menukar rentetan kepada integer.
Kod berikut menukar rentetan "123" kepada nombor 123−
<html> <head> <title>Examples</title> </head> <body> <div id="result1"></div> <div id="result2"></div> <div id="result3"></div> <script> let str = "123"; document.getElementById("result1").innerHTML = typeof str; let num = Math.floor(str); // num = 123 document.getElementById("result2").innerHTML = num; document.getElementById("result3").innerHTML = typeof num; </script> </body> </html>
Dalam kod di atas, kita mula-mula menukar rentetan "123" kepada nombor menggunakan fungsi Number(). Kami kemudian menghantar nombor ini kepada fungsi Math.floor(), yang mengembalikan integer 123.
Pengendali Bitwise ialah pengendali yang beroperasi pada nilai bit. Operator ini boleh digunakan untuk menukar rentetan kepada integer.
Kod berikut menukar rentetan "765" kepada nombor 765 −
<html> <head> <title>Examples</title> </head> <body> <div id="result1"></div> <div id="result2"></div> <div id="result3"></div> <script> let str = "765"; document.getElementById("result1").innerHTML = typeof str; let num = str|0; document.getElementById("result2").innerHTML = num; document.getElementById("result3").innerHTML = typeof num; </script> </body> </html>
Dalam kod di atas, kami menggunakan operator bitwise OR (|) untuk menukar rentetan "765" kepada nombor OR operator menukarkan operannya kepada integer 32-bit dan kemudian melakukan operasi OR bitwise pada mereka Dalam kes ini, ia menukar rentetan "765" kepada nombor 765.
The Math. . fungsi ceil() mengembalikan integer terkecil lebih besar daripada atau sama dengan nombor tertentu Fungsi ini boleh digunakan untuk menukar rentetan kepada integer.
Kod berikut menukar rentetan "123" kepada nombor 123. −
<!doctype html> <html> <head> <title>Examples</title> </head> <body> <div id='result1'></div> <div id='result2'></div> <div id='result3'></div> <script> let str = '123'; document.getElementById('result1').innerHTML ="String:" +str; document.getElementById('result2').innerHTML = "Before:<br> Type: "+typeof str; let num = Math.ceil(str); // num = 123 document.getElementById('result3').innerHTML = "After:<br> Type:"+typeof num; </script> </body> </html>
Dalam kod di atas, kita mula-mula menukar rentetan "123" kepada nombor menggunakan fungsi Number(). Kami kemudian menghantar nombor ini kepada fungsi Math.ceil(), yang mengembalikan integer 123.
Terdapat beberapa cara untuk menukar rentetan kepada integer tanpa menggunakan fungsi parseInt(). Kaedah ini termasuk menggunakan operator tambah unary, fungsi Number(), fungsi Math.floor() dan operator bitwise.
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan kepada integer dalam JavaScript tanpa menggunakan fungsi parseInt()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!