JavaScript ialah bahasa pengaturcaraan berkuasa yang digunakan secara meluas dalam pembangunan web, aplikasi mudah alih dan pembangunan permainan. Apabila aplikasi web menjadi lebih kompleks, pengaturcara JavaScript selalunya perlu memproses sejumlah besar data. Dalam situasi seperti ini, ada kalanya pembolehubah titik tetap dalam JavaScript diperlukan, dan itulah maksud artikel ini.
Dalam pengaturcaraan komputer, nombor titik terapung dan nombor titik tetap ialah perwakilan berangka biasa. Titik terapung ialah jenis data dengan ketepatan yang tidak pasti Nilainya boleh menjadi sangat kecil atau sangat besar Bagi sesetengah pengiraan yang memerlukan ketepatan tinggi, ralat sering berlaku. Nombor titik tetap ialah perwakilan berangka ketepatan tetap yang boleh mengekalkan ketepatan semasa penyimpanan dan operasi tanpa kehilangan ketepatan.
Dalam JavaScript, memandangkan jenis berangka lalai ialah titik terapung, beberapa kaedah khas diperlukan untuk melaksanakan operasi titik tetap. JavaScript boleh melaksanakan nombor titik tetap dengan menentukan ketepatan secara manual atau dengan menggunakan beberapa perpustakaan siap sedia, seperti Big.js dan Decimal.js.
Menentukan ketepatan secara manual ialah cara yang agak mudah untuk melaksanakan nombor titik tetap Ia memerlukan penentuan ketepatan secara manual, dan kemudian menukarnya apabila menjalankan operasi Akhirnya Kemudian tukarkan semula hasilnya.
Sebagai contoh, jika kita ingin mengira jumlah dua perpuluhan dengan ketepatan 2 digit, kita boleh melakukannya seperti berikut:
var a = 3.1415; var b = 2.7182; var p = 100; // p表示精度 var c = Math.round((a + b) * p) / p; // 四舍五入保留p位小数
Dalam kod di atas, kita tetapkan ketepatan hingga 100 , iaitu mengekalkan 2 tempat perpuluhan. Kemudian gunakan fungsi Math.round untuk melaksanakan operasi pembundaran, dan akhirnya bahagikan hasilnya dengan ketepatan untuk mendapatkan hasil pengiraan dengan 2 tempat perpuluhan.
Kaedah ini agak mudah, tetapi ia memerlukan menetapkan ketepatan dan melaksanakan operasi penukaran secara manual semasa setiap operasi, jadi ia agak tidak cekap untuk tugas pengkomputeran yang banyak.
Big.js ialah perpustakaan JavaScript sumber terbuka yang menyediakan operasi berangka perpuluhan berketepatan tinggi. Perpustakaan menyokong operasi asas seperti penambahan, penolakan, pendaraban, pembahagian dan eksponensial Ia juga menyokong operasi seperti pembundaran, pembundaran dan perbandingan, yang boleh memenuhi kebanyakan tugas pengkomputeran yang memerlukan ketepatan tinggi.
Menggunakan perpustakaan Big.js untuk mengira nombor titik tetap adalah sangat mudah hanya hantar nombor yang memerlukan kawalan ketepatan ke dalam fungsi Big.js:
var Big = require('big.js'); var a = new Big('3.1415'); var b = new Big('2.7182'); var c = a.plus(b); console.log(c.toFixed(2)); // 5.86
Decimal.js ialah satu lagi perpustakaan matematik ketepatan tinggi JavaScript Sama seperti Big.js, ia menyediakan operasi matematik asas dan menyokong pengiraan ketepatan tinggi.
Menggunakan Decimal.js untuk mengira nombor titik tetap juga sangat mudah:
var Decimal = require('decimal.js'); var a = new Decimal('3.1415'); var b = new Decimal('2.7182'); var c = a.plus(b); console.log(c.toDecimalPlaces(2).toString()); // 5.86
Artikel ini memperkenalkan cara melaksanakan tetap -nombor mata dalam Kaedah JavaScript termasuk menentukan ketepatan secara manual, menggunakan perpustakaan Big.js dan menggunakan perpustakaan Decimal.js. Dalam pembangunan sebenar, kita boleh memilih kaedah pelaksanaan yang berbeza mengikut keperluan sebenar untuk memenuhi keperluan pengkomputeran kita sendiri.
Atas ialah kandungan terperinci Bagaimana untuk membetulkan pembolehubah dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!