Rumah >hujung hadapan web >tutorial js >parseInt() vs. Number(): Bagaimanakah Mereka Berbeza dalam Penukaran Rentetan kepada Nombor?
Memahami Nuansa parseInt() dan Number() dalam Penukaran Rentetan ke Nombor
Apabila berurusan dengan rentetan ke nombor penukaran dalam JavaScript, adalah penting untuk memahami perbezaan antara parseInt() dan Number(). Kedua-dua kaedah ini mempamerkan gelagat yang berbeza dalam mengendalikan input rentetan.
Perbezaan Semantik: Penghuraian lwn. Penukaran Jenis
parseInt() melaksanakan penghuraian, yang bermaksud ia mentafsir sebahagian daripada rentetan sebagai nombor, sambil mengabaikan sebarang aksara mengekor yang tidak sesuai dengan sistem angka yang ditetapkan. Number(), sebaliknya, melakukan penukaran jenis, cuba menukar keseluruhan rentetan kepada nilai angka.
Contoh:
// Parsing parseInt("20px"); // 20 parseInt("10100", 2); // 20 parseInt("2e1"); // 2 // Type conversion Number("20px"); // NaN Number("2e1"); // 20 (exponential notation)
Aksara Mengekor dan Oktal Tersirat
parseInt() mengabaikan aksara mengekor yang tidak sepadan dengan digit berangka dalam pangkalan yang ditentukan. Walau bagaimanapun, pembina Number() tidak mengesan perlapanan tersirat (nombor yang diawali dengan 0, mewakili sistem angka perlapanan). Tatatanda perlapanan eksplisit (0o) diiktiraf oleh Number().
// Implicit octal detection Number("010"); // 10 Number("0o10") // 8 // Parsed as octal by default parseInt("010"); // 8 parseInt("010", 10); // 10 (force decimal radix)
Notasi Heksadesimal dan Operator Tambah Unary
Kedua-dua parseInt() dan Number() boleh mengendalikan tatatanda heksadesimal, nombor yang diwakili dengan awalan 0x terkemuka. Selain itu, Operator Unary Plus ( ) juga boleh digunakan untuk melakukan penukaran jenis angka, bersamaan dengan menggunakan pembina Number() .
// Hexadecimal notation Number("0xF"); // 15 parseInt("0xF"); //15 // Unary Plus Operator +"2e1"; // 20 +"0xF"; // 15 +"010"; // 10
Dengan memahami ciri khusus parseInt() dan Number(), pembangun boleh membuat keputusan termaklum apabila menukar rentetan kepada nombor dalam JavaScript, memastikan hasil yang tepat dan boleh dipercayai.
Atas ialah kandungan terperinci parseInt() vs. Number(): Bagaimanakah Mereka Berbeza dalam Penukaran Rentetan kepada Nombor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!