Format IEEE754 digunakan untuk mewakili nilai bilangan bulat dan floating point.
Nilai Titik Mengambang: Nilai ini harus berisi titik desimal, dan harus ada setidaknya satu angka setelah titik desimal. Nilai titik mengambang membutuhkan dua kali ruang memori sebanyak nilai integer. Akurasi tertinggi adalah 17 sebagai desimal, tetapi akurasinya jauh lebih sedikit daripada bilangan bulat saat melakukan operasi aritmatika.
Berbagai tipe numerik: desimal, oktal (tidak valid dalam mode ketat), heksadesimal
Bit pertama dari literal oktal harus 0, diikuti oleh urutan angka oktal (0 ~ 7). Jika nilai numerik dalam nilai literal di luar kisaran, 0 terkemuka akan diabaikan dan nilai numerik berikutnya akan diuraikan sebagai angka desimal
070 // 56079 // 79
Dua digit pertama dari heksadesimal literal harus 0x diikuti oleh digit heksadesimal (0 ~ 9 dan a ~ f). Huruf a ~ f dapat berukuran atau huruf kecil
0xa // 10
Saat melakukan perhitungan aritmatika, semua nilai yang dinyatakan dalam oktal dan heksadesimal pada akhirnya akan dikonversi menjadi nilai desimal
Kisaran nilai:
Jika nilai di luar kisaran nilai JavaScript diperoleh dalam hasil perhitungan, maka nilai ini akan dikonversi ke nilai infinity khusus, yang tidak dapat berpartisipasi dalam perhitungan berikutnya karena infinity adalah nilai yang tidak dapat berpartisipasi dalam perhitungan. Jika angka ini positif, dikonversi menjadi infinity (infinite positif), dan jika angka ini negatif, itu dikonversi menjadi -infinitas (tak terbatas negatif).
-10/0 //-Infinity10/0 // Infinity
isInfinite () menentukan apakah angka terbatas.
var result = number.max_value + number.max_valueconsole.log (isFinity (hasil)); // false
Nan
console.log (nan === nan) // false0/0 // nan
Isnan: Terima parameter, dan akan mencoba mengubah nilai ini menjadi nilai numerik, mengembalikan nilai boolean
console.log (isnan ('10 ')); // falseconsole.log (isnan (' bb ')); // trueKonversi numerik
Ada 3 fungsi yang dapat mengubah nilai non-numerik menjadi nilai numerik
Number (): Digunakan untuk jenis numerik apa pun.
1.Null
Number (null) // 0undefinedNumber (tidak terdefinisi) // nan
2. Nilai Boolean
Number (true) // 1 number (false) // 0
3. String
Number ('bb') // nan, nomor karakter non-numerik ('123') // 123, nomor karakter numerik ('') // 0, string kosong4. Objek
Jika itu adalah objek, panggil metode nilai () dari objek, dan kemudian konversi nilai yang dikembalikan sesuai dengan aturan di atas. Jika hasil konversi adalah NAN, metode objek tostring () dipanggil, dan nilai string yang dikembalikan dikonversi lagi sesuai dengan aturan sebelumnya.
5.parseint ()/parsefloat (): Digunakan untuk mengonversi string ke nilai numerik.
ParseInt (): Mulai parsing dari string pertama hingga diuraikan ke karakter non-numerik. Dua parameter dapat diterima. Parameter kedua mewakili biner yang berbeda dan dikonversi menjadi nomor desimal secara default.
parseInt('')//NaN, empty string parseInt(22.4)//22parseInt('12bu')//12parseInt('10',2)//2parseInt('10',8)//8parseFloat(): start parsing from the first string, the first decimal point is valid, ignore the leading 0 and can only be converted to decimal values. parsefloat ('') // nanparsefloat ('090') // 90parsefloat ('2.3.4') // 2.3Meringkaskan
Kata:
ERROR ROUNDING
var x = .3 - .2 var y = .2 - .1 x == yx == .1 // => false .3 -.2 tidak sama ./ y == .1 // => true .2 - .1 sama dengan .1