Dalam JavaScript, Anda dapat mengonversi nilai string menjadi angka dalam tiga cara berikut:
1. Nomor panggilan () Untuk mengonversi jenis nilai string.
2.parseint ().
3.parsefloat ().
Nomor()
Menggunakan fungsi angka () untuk melemparkan string adalah cara yang paling mudah. Namun, pendekatan ini memiliki satu keterbatasan: jika string memotong awal dan akhir karakter whitespace dan bukan string numerik murni, hasil akhirnya adalah NAN. JavaScript David Flanagan Panduan Definitif Edisi ke-6, Bagian 3.8.2 menyebutkan bahwa ketika menggunakan fungsi angka () untuk melakukan konversi string-ke-nomor, fungsi hanya menerima string desimal, tetapi hasil tes menunjukkan bahwa ini bukan masalahnya. Fungsi angka () dapat menerima "0xff" sebagai parameter dan mengubahnya menjadi nilai numerik 255.
Salinan kode adalah sebagai berikut:
var a = "42";
var b = "42mm";
var c = "0xff";
var d = "42.34";
console.log (angka (a)); // 42
console.log (angka (b)); // nan
console.log (angka (c)); // 255
console.log (angka (d)); // 42.34
parseint ()
Fungsi parseInt () dapat mengubah string menjadi integer. Dibandingkan dengan fungsi angka (), fungsi parseInt () tidak hanya dapat menguraikan string numerik murni, tetapi juga parse string numerik parsial yang dimulai dengan angka (string parsial non-digit akan dihapus selama proses konversi). Perlu dicatat bahwa ketika fungsi parseInt () mem -parsing string titik mengambang, metode yang digunakan untuk pembulatan adalah "terpotong".
Selain string sebagai parameter pertama, fungsi parseInt () juga dapat menerima bilangan bulat antara 2 dan 36 sebagai parameter kedua untuk menentukan jumlah divisi selama proses konversi.
Salinan kode adalah sebagai berikut:
var b = "42mm";
var c = "0xff";
var x = "-12.34";
var y = "15.88";
var z = "101010";
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 dapat menguraikan string numerik parsial yang dimulai dengan angka (string parsial non-numerik akan dihapus selama proses konversi). Tidak seperti ParseInt (), parsefloat () dapat mengubah string menjadi nomor floating point; Tetapi pada saat yang sama, parsefloat () hanya menerima satu parameter dan hanya dapat memproses string desimal.
Salinan kode adalah sebagai berikut:
var c = "0xff";
var d = "42.34";
console.log (parsefloat (c)); // 0, karena "0xff" mulai dengan 0
console.log (parsefloat (d)); // 42.34
console.log (parsefloat (". 1")); // 0.1