rentetan javascript 转 int

WBOY
WBOYasal
2023-05-17 14:46:071756semak imbas

Dalam JavaScript, kita selalunya perlu menukar rentetan kepada integer untuk pengiraan dan perbandingan berangka. Terdapat beberapa cara untuk menukar rentetan kepada integer, termasuk fungsi parseInt(), fungsi Number() dan menggunakan operator tambah unary. Artikel ini akan memberi tumpuan kepada cara menggunakan fungsi parseInt() untuk menukar rentetan kepada integer.

fungsi parseInt() ialah salah satu fungsi yang paling biasa digunakan dalam JavaScript untuk menukar rentetan kepada integer. Ia adalah sebahagian daripada definisi standard ECMAScript dan boleh digunakan dalam mana-mana persekitaran JavaScript yang mematuhi piawaian. Fungsi ini menerima dua parameter: rentetan yang akan ditukar dan asas (iaitu, asas nombor, yang boleh menjadi sebarang nilai antara 2-36). Jika tiada pangkalan disediakan, ia lalai kepada 10.

Berikut ialah contoh mudah yang menunjukkan cara menggunakan fungsi parseInt() untuk menukar rentetan kepada integer:

const str = '123';
const int = parseInt(str);
console.log(int); // 123

Dalam contoh ini, kami menukar rentetan '123' menjadi integer 123. Oleh kerana kami tidak menyediakan parameter asas, nombor perpuluhan digunakan secara lalai. Seperti yang anda lihat, hasil output fungsi parseInt() ialah integer, yang membolehkan kami melakukan pengiraan dan perbandingan berangka.

Walau bagaimanapun, jika rentetan yang dibekalkan dalam format angka yang tidak sah, kelakuan fungsi parseInt() mungkin menjadi tidak dapat diramalkan. Contohnya, jika rentetan yang dibekalkan mengandungi aksara bukan angka, fungsi parseInt() akan mengembalikan NaN (bukan nombor). Berikut ialah contoh:

const str = 'abc123';
const int = parseInt(str);
console.log(int); // NaN

Dalam contoh ini, memandangkan rentetan 'abc123' tidak bermula dengan nombor, fungsi parseInt() mengembalikan NaN. Oleh kerana NaN bukan integer yang sah, kami tidak boleh melakukan pengiraan berangka atau perbandingan padanya.

Untuk menyelesaikan masalah ini, kita boleh menentukan sama ada penukaran berjaya dengan menyemak nilai pulangan fungsi parseInt(). Jika NaN dikembalikan, rentetan tidak boleh dihuraikan menjadi integer jika tidak, integer yang dihuraikan dikembalikan. Berikut ialah contoh pengendalian ralat menggunakan fungsi parseInt():

const str = 'abc123';
const int = parseInt(str);
if (isNaN(int)) {
  console.log(`Error: '${str}' cannot be parsed as an integer`);
} else {
  console.log(int);
}

Kod ini menyemak sama ada pembolehubah int sama dengan NaN. Jika ya, keluarkan mesej ralat jika tidak, keluarkan nilai integer yang dihuraikan.

Selain itu, perlu diperhatikan bahawa dalam beberapa kes masalah ini boleh dielakkan dengan menyediakan hujah radix dalam fungsi parseInt(). Sebagai contoh, jika kita ingin menukar nombor perlapanan kepada integer, kita boleh menetapkan parameter asas kepada 8:

const str = '017';
const int = parseInt(str, 8); // 解析为八进制数
console.log(int); // 15

Dalam contoh ini, kami menggunakan fungsi parseInt() untuk menghuraikan rentetan '017' ke dalam nombor perlapanan. Oleh kerana 017 bersamaan dengan nombor perpuluhan 15, outputnya ialah 15.

Untuk meringkaskan, fungsi parseInt() dalam JavaScript sangat mudah dan boleh menukar rentetan kepada integer. Walau bagaimanapun, ambil perhatian bahawa untuk format nombor tidak sah, fungsi ini mengembalikan NaN. Oleh itu, dalam aplikasi praktikal, pengendalian ralat perlu dilakukan pada nilai pulangan fungsi ini untuk memastikan ketepatan dan kebolehpercayaan kod. Selain itu, dalam beberapa kes anda boleh mengawal cara nombor dihuraikan dan mengelakkan keputusan yang tidak dijangka dengan menyediakan parameter asas.

Atas ialah kandungan terperinci rentetan javascript 转 int. 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