Rumah >hujung hadapan web >tutorial js >Pengenalan kepada menukar rentetan kepada nombor dalam kemahiran JavaScript_javascript
Dalam JavaScript, anda boleh menukar nilai rentetan kepada nombor melalui 3 kaedah berikut:
1. Nombor Panggilan() untuk melakukan penukaran jenis nilai pada rentetan.
2.parseInt().
3.parseFloat().
Nombor()
Menggunakan fungsi Number() untuk menghantar rentetan ialah cara yang paling langsung. Walau bagaimanapun, pendekatan ini mempunyai had: jika rentetan itu bukan rentetan angka tulen selepas memotong aksara ruang kosong di hadapan dan di belakang, hasil pulangan akhir ialah NaN. JavaScript David Flanagan - Panduan Definitif edisi ke-6, Bahagian 3.8.2 menyebut bahawa apabila menggunakan fungsi Number() untuk penukaran rentetan ke nombor, fungsi tersebut hanya menerima rentetan perpuluhan, tetapi keputusan ujian menunjukkan bahawa ini tidak berlaku. Fungsi Number() boleh menerima "0xff" sebagai parameter dan menukarnya kepada nilai 255.
console.log(Nombor(a));//42
console.log(Nombor(b));//NaN
console.log(Nombor(c));//255
console.log(Nombor(d));//42.34
parseInt()
Fungsi parseInt() boleh menukar rentetan menjadi integer Berbanding dengan fungsi Number(), fungsi parseInt() bukan sahaja boleh menghuraikan rentetan angka tulen, tetapi juga menghuraikan rentetan angka separa bermula dengan nombor (bukan digit. ). Beberapa rentetan akan dialih keluar semasa proses penukaran). Perlu diingat bahawa apabila fungsi parseInt() menghuraikan rentetan titik terapung, kaedah yang digunakan untuk operasi pembundaran ialah "truncate".
Selain rentetan sebagai parameter pertama, fungsi parseInt() juga boleh menerima sebarang integer antara 2 dan 36 sebagai parameter kedua, yang digunakan untuk menentukan nombor asas semasa proses penukaran.
console.log(parseInt(b));//42
console.log(parseInt(x));//-12
console.log(parseInt(y));//15
console.log(parseInt(c));//255
console.log(parseInt(z, 2));//42
console.log(parseInt(".1"));//NaN
parseFloat()
Seperti parseInt(), parseFloat() juga boleh menghuraikan sebahagian rentetan berangka bermula dengan nombor (bahagian bukan angka rentetan akan dialih keluar semasa proses penukaran). Tidak seperti parseInt(), parseFloat() boleh menukar rentetan kepada nombor titik terapung tetapi pada masa yang sama, parseFloat() hanya menerima satu parameter dan hanya boleh mengendalikan rentetan perpuluhan.
console.log(parseFloat(c));//0, kerana "0xff" bermula dengan 0
console.log(parseFloat(d));//42.34
console.log(parseFloat(".1"));//0.1