Rumah >hujung hadapan web >tutorial js >Petua Pantas: Cara Menukar Rentetan ke Nombor di JavaScript

Petua Pantas: Cara Menukar Rentetan ke Nombor di JavaScript

Christopher Nolan
Christopher Nolanasal
2025-02-09 10:30:14779semak imbas

Quick Tip: How to Convert a String to a Number in JavaScript

mata teras

    JavaScript menyediakan pelbagai cara untuk menukar rentetan ke dalam nombor, termasuk fungsi
  • , Number() dan parseInt(), dan pengendali UNARY Plus Sign (). Setiap kaedah mempunyai tujuan tersendiri dan boleh digunakan mengikut keperluan khusus kod tersebut. parseFloat()
  • Apabila menukar rentetan ke nombor, adalah penting untuk mengendalikan aksara bukan numerik. Jika rentetan mengandungi aksara selain daripada nombor, fungsi
  • mengembalikan nan, manakala fungsi Number() dan parseInt() menghuraikan rentetan jika nombor itu berada di permulaan rentetan dan buang aksara yang tinggal. parseFloat()
  • Pastikan anda ambil perhatian bahawa hasil pulangan mungkin nan. Untuk memeriksa sama ada nilai itu, anda boleh menggunakan fungsi global
  • . isNaN()
JavaScript menyediakan pelbagai kaedah penukaran jenis data. Kami sudah menutup cara menukar nombor ke rentetan. Dalam tutorial pendek ini, kami akan menerangkan cara menukar rentetan kepada nombor dalam JavaScript.

Dalam banyak kes, nombor boleh disimpan sebagai rentetan. Sebagai contoh, nilai yang diterima dari elemen bentuk sentiasa rentetan.

Biasanya, anda boleh merawat rentetan JavaScript yang mengandungi nombor (dan hanya nombor) sebagai nombor, dan JavaScript secara automatik akan melakukan penukaran rentetan-ke-bilangan. Walau bagaimanapun, kadang -kadang anda perlu mengekstrak nombor dari rentetan, atau mempunyai lebih banyak kawalan ke atas bagaimana anda menukar.

Dalam hujung cepat ini, kami akan memperkenalkan tiga cara untuk menukar rentetan kepada nombor.

Tukar rentetan ke nombor menggunakan

Number() Cara yang paling langsung untuk menukar rentetan ke nombor dalam JavaScript adalah dengan menggunakan pembina terbina dalam

. Contohnya:

Number Apabila merakam nilai dan jenis

dalam konsol, hasilnya adalah 10 dan rentetan sebagai rentetan. Selepas penukaran, hasilnya adalah 10 sebagai nombor dan digit, masing -masing.
<code class="language-javascript">const str = "10";
console.log(str); // "10"
console.log(typeof str); // "string"

const number = Number(str);
console.log(number); // 10
console.log(typeof number); // "number"</code>

anda boleh melihat contoh sebenar dalam demonstrasi codepen di bawah. str

[codepen demo link (sila https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)]

Perhatikan bahawa jika anda lulus rentetan bukan angka ke nombor, NAN akan dikembalikan.

menukar rentetan ke nombor menggunakan

dan

cara lain ialah menggunakan parseInt() dan parseFloat(). Seperti namanya,

memasangkan rentetan ke dalam integer, manakala

memasangkan rentetan ke dalam nombor dengan titik perpuluhan. parseInt() parseFloat() Contoh: parseInt() parseFloat()

Sama seperti kaedah pertama, apabila merakam nilai dan jenis

dalam konsol, hasilnya adalah 10.9 dan rentetan sebagai rentetan. Walau bagaimanapun, apabila parsing

dengan
<code class="language-javascript">const str = "10.9";
console.log(str); // "10.9"
console.log(typeof str); // "string"

const intNumber = parseInt(str);
console.log(intNumber); // 10
console.log(typeof intNumber); // "number"

const floatNumber = parseFloat(str);
console.log(floatNumber); // 10.9
console.log(typeof floatNumber); // "number"</code>
, nilai

menjadi 10 dan jenisnya adalah nombor. str Sebaliknya, apabila parsing

dengan parseFloat, nilai str menjadi 10.9 (sebagai nombor), dan jenisnya adalah nombor. floatNumber

anda boleh melihat contoh sebenar dalam demonstrasi codepen di bawah.

[codepen demo link (sila https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)]

Parameter kedua

parseInt()

Menerima parameter kedua yang menentukan kardinaliti nombor yang akan dihuraikan dari rentetan. Parameter ini sebenarnya adalah pilihan, tetapi sangat disyorkan bahawa anda sentiasa menyediakannya.

parseInt() Jika tidak ada parameter kedua seperti itu,

akan melakukan pengesanan kardinaliti automatik. Iaitu, ia mengesan kardinaliti nombor melalui format dalam rentetan. Nombor yang bermula dengan 0x atau 0x dianggap hexadecimal (asas 16), dan semua nombor lain dianggap perpuluhan.

parseInt Jadi, sebagai contoh, jika anda memanggil

, nilai input akan dianggap sebagai nombor oktal; tetapi 8 bukan nombor oktal (kerana nombor oktal adalah 0-7), jadi fungsi akan kembali sifar, bukan lapan.

parseInt("08") Untuk mengelakkan sebarang kekeliruan, selalu tentukan kardinaliti apabila menggunakan

.

parseInt() Tukar String ke Nombor Menggunakan Tanda Satu Yuan Plus

Cara ketiga untuk menukar rentetan ke nombor adalah dengan menggunakan tanda tambah One-Yuan (). Jika operan digunakan sebelum tanda Unary Plus, ia akan cuba mengubahnya ke nombor. Jadi, jika operan adalah rentetan yang mengandungi nombor, tanda Unary Plus akan menukarnya ke nombor.

Contoh:

Apabila anda merakam jenis
<code class="language-javascript">const str = "10";
console.log(str); // "10"
console.log(typeof str); // "string"

const number = Number(str);
console.log(number); // 10
console.log(typeof number); // "number"</code>
, ia adalah rentetan seperti yang diharapkan. Walau bagaimanapun, apabila anda merekodkan nilai

dan jenisnya, 10 dan digit dicatatkan dalam konsol masing -masing. str str anda boleh melihat contoh sebenar dalam demonstrasi codepen di bawah.

[codepen demo link (sila https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)]

bagaimana menangani aksara bukan angka dalam rentetan

Pastikan anda mempertimbangkan kes di mana rentetan mungkin mengandungi aksara selain daripada nombor, dan bagaimana setiap pendekatan berkaitan dengan keadaan ini.

Apabila menggunakan

, jika rentetan mengandungi aksara selain daripada nombor, ditambah () dan tolak (-) pada permulaan, atau titik perpuluhan, nilai pulangan adalah nilai khas nan (bukan nombor). NAN adalah atribut global yang mewakili yang bukan angka. Apabila operan atau parameter operasi ini bukan nombor atau tidak boleh digunakan untuk operasi matematik tertentu, beberapa operasi berangka akan mengembalikannya.

Number() Sebaliknya, jika nombor itu pada permulaan rentetan,

dan

akan menghuraikan rentetan. Ia membuang watak -watak yang tinggal dan mengambil nombor yang dihadapi pada permulaan rentetan. Walau bagaimanapun, jika rentetan bermula dengan watak selain daripada nombor, tambah () dan tolak (-) pada permulaan, atau titik perpuluhan, nilai pulangan adalah nilai khas nan (bukan nombor). parseInt() parseFloat() anda boleh melihat contoh sebenar dalam demonstrasi codepen di bawah.

[codepen demo link (sila https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)]

seperti yang anda lihat, Number() mengembalikan nan kerana rentetan mengandungi px. Walau bagaimanapun, parseInt() mengembalikan 10 kerana ia adalah pada permulaan rentetan.

anda boleh menggunakan fungsi global isNaN() untuk memeriksa sama ada nilai itu nan.

Kesimpulan

Tutorial pendek ini memperkenalkan tiga cara untuk menukar rentetan kepada nombor dalam JavaScript. Number() Anda boleh menukar rentetan ke nombor, sama ada nombor titik terapung atau bilangan bulat. Walau bagaimanapun, jika rentetan mengandungi aksara lain, ia mengembalikan NAN. Ini akan berguna jika anda ingin memastikan penukaran rentetan yang ketat.

Sebaliknya, parseInt() dan parseFloat() lebih fleksibel dalam menangani aksara lain dalam nombor. Walau bagaimanapun, dalam beberapa kes, kedua -dua fungsi tidak boleh digunakan secara bergantian. Sebagai contoh, jika nombor dalam rentetan adalah nombor titik terapung dan anda menggunakan parseInt(), anda akan mendapat nilai yang salah berbanding dengan rentetan.

Walaupun tanda One-Yuan Plus mudah digunakan, ia dapat mengurangkan kebolehbacaan kod. Tidak kira kaedah mana yang anda pilih, pastikan anda perhatikan bahawa hasil pulangan mungkin nan.

Jika anda mendapati artikel ini berguna, anda juga mungkin suka yang berikut:

  • belajar menggunakan pengaturcaraan JavaScript
  • Cara Belajar JavaScript dengan cepat: Enam tips pemikiran mudah (https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)
  • 25 JavaScript Stervied Skills Coding (https://www.php.cn/link/A1D41C14C1D0AA9B9CC1E228D962FE42)
  • ES6 Praktikal Praktikal: Kaedah Digital Baru (https://www.php.cn/link/A1D41C14C1D0AA9B9CC1E228D962FE42)
  • ES6 Praktikal Praktikal: Kaedah String Baru - String.Prototype.* (Https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)
  • Nilai Benar dan Palsu: Tidak semuanya dalam JavaScript adalah sama (https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)
Soalan Lazim untuk Menukar String ke Nombor Dalam JavaScript

Apakah cara yang berbeza untuk menukar rentetan ke nombor dalam JavaScript?

Terdapat beberapa cara untuk menukar rentetan ke nombor dalam JavaScript. Kaedah yang paling biasa digunakan termasuk fungsi

, fungsi Number(), parseInt() fungsi, dan pengendali UNARY PLUS (). Setiap kaedah mempunyai tujuan tersendiri dan boleh digunakan mengikut keperluan khusus kod tersebut. parseFloat()

Bagaimana fungsi berfungsi dalam JavaScript? Number()

Fungsi

dalam JavaScript boleh digunakan untuk menukar rentetan ke nombor. Ia mengambil rentetan sebagai hujah dan mengembalikan nombor. Jika rentetan tidak boleh ditukar kepada nombor, NAN (bukan nombor) dikembalikan. Sebagai contoh, Number() akan kembali 1234, manakala Number("1234") akan kembali NAN. Number("1234abc")Apakah perbezaan antara

parseInt() dan parseFloat() dalam JavaScript?

parseInt() dan parseFloat() kedua -duanya digunakan untuk menukar rentetan ke nombor dalam JavaScript. Perbezaannya adalah jenis angka yang mereka kembali. parseInt() Mengembalikan integer, manakala parseFloat() mengembalikan nombor titik terapung. Sebagai contoh, parseInt("123.45") akan kembali 123, manakala parseFloat("123.45") akan kembali 123.45.

Bagaimana menggunakan operator Unary Plus Sign () untuk menukar rentetan ke nombor dalam JavaScript?

Pengendali Tanda UNARY Plus () boleh digunakan untuk menukar rentetan ke nombor dalam JavaScript. Ia diletakkan sebelum rentetan seperti berikut: "1234". Ini akan mengembalikan nombor 1234. Jika rentetan tidak boleh ditukar kepada nombor, NAN dikembalikan.

Apa yang berlaku jika saya cuba menukar rentetan bukan angka ke nombor dalam JavaScript?

Jika anda cuba menukar rentetan bukan angka ke nombor dalam JavaScript menggunakan mana-mana kaedah di atas, ia akan mengembalikan nan, iaitu bukan angka.

Bagaimana untuk memeriksa sama ada penukaran dari rentetan ke nombor dalam JavaScript berjaya?

anda boleh menggunakan fungsi isNaN() dalam JavaScript untuk memeriksa sama ada penukaran dari rentetan ke nombor berjaya. Jika parameter bukan nombor (NAN), fungsi ini kembali benar, jika tidak palsu.

Bolehkah saya menukar rentetan ke nombor dalam JavaScript tanpa menggunakan sebarang fungsi terbina dalam?

Ya, rentetan boleh ditukar kepada nombor dalam JavaScript tanpa menggunakan sebarang fungsi terbina dalam, walaupun ini lebih kompleks dan tidak disyorkan untuk pemula. Salah satu cara adalah untuk melangkah ke atas setiap aksara dalam rentetan menggunakan gelung dan hitung nombor menggunakan nilai ASCII nombor.

Bagaimana untuk menukar rentetan ke integer dalam JavaScript?

anda boleh menggunakan fungsi parseInt() untuk menukar rentetan ke integer dalam JavaScript. Fungsi ini mengambil rentetan sebagai hujah dan mengembalikan integer. Jika rentetan tidak dapat ditukar kepada integer, NAN dikembalikan.

Bagaimana untuk menukar rentetan ke nombor titik terapung di JavaScript?

anda boleh menggunakan fungsi parseFloat() untuk menukar rentetan ke nombor titik terapung dalam JavaScript. Fungsi ini mengambil rentetan sebagai hujah dan mengembalikan nombor titik terapung. Jika rentetan tidak boleh ditukar ke nombor titik terapung, NAN dikembalikan.

Apakah cara terbaik untuk menukar rentetan ke nombor dalam JavaScript?

Cara terbaik untuk menukar rentetan ke nombor dalam JavaScript bergantung kepada keperluan khusus anda. Jika anda memerlukan integer, gunakan parseInt(). Jika anda memerlukan nombor titik terapung, gunakan parseFloat(). Jika anda tidak pasti, gunakan fungsi Number() atau operator Unary Plus Sign (), kerana mereka boleh mengendalikan bilangan bilangan bulat dan terapung.

Sila ambil perhatian bahawa saya telah mencuba yang terbaik untuk pseudo-asal teks asal dan mengekalkan format asal dan lokasi imej. Oleh kerana saya tidak dapat mengakses laman web luaran dan pautan imej, saya tidak dapat mengesahkan kesahihan pautan imej. Jika perlu, sila berikan fail tempatan imej.

Atas ialah kandungan terperinci Petua Pantas: Cara Menukar Rentetan ke Nombor di JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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