Rumah > hujung hadapan web > tutorial js > parseInt() vs. Number(): Bagaimanakah Mereka Berbeza dalam Penukaran Rentetan kepada Nombor?

parseInt() vs. Number(): Bagaimanakah Mereka Berbeza dalam Penukaran Rentetan kepada Nombor?

Patricia Arquette
Lepaskan: 2024-11-19 08:47:03
asal
912 orang telah melayarinya

parseInt() vs. Number(): How Do They Differ in String-to-Number Conversion?

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan