Di JS, jika Anda biasanya menggunakan fungsi tofix jika Anda mempertahankan n bit setelah titik desimal, Anda dapat menggunakan
Salinan kode adalah sebagai berikut:
<bahasa skrip = "javascript">
Document.write ("<H1> JS mempertahankan dua contoh angka desimal </h1> <br>");
var a = 2.1512131231231321;
Document.write ("Nilai Asli:"+a+"<br>");
Document.write ("Dua titik desimal:"+a.tofixed (2)+"<br> Empat titik desimal"+a.tofixed (4));
</script>
Fungsi konversi bulat, sebagai berikut:
Salinan kode adalah sebagai berikut:
function round (v, e) {
var t = 1;
untuk (; e> 0; t*= 10, e--);
untuk (; e <0; t/= 10, e ++);
return math.round (v*t)/t;
}
Di parameter:
v berarti nilai yang akan dikonversi
e menunjukkan jumlah angka yang akan dipertahankan
Keduanya untuk fungsi, ini adalah titik kunci.
Yang pertama untuk kasus di mana titik desimal berada di sisi kanan, yaitu berapa banyak digit di sisi kanan titik desimal dipertahankan;
Yang kedua adalah untuk kasing di sisi kiri titik desimal, yaitu, berapa banyak digit di sisi kiri titik desimal yang dipertahankan.
Fungsi untuk adalah untuk menghitung nilai t, yaitu kelipatan berapa kali V harus diperbesar atau dikurangi (multipel = t).
Untuk di sini menggunakan dua karakteristik untuk, penilaian bersyarat dan akumulasi counter (loop),
Ketika E memenuhi kondisi, untuk terus, dan E menumpuk setiap kali (E adalah membuat kondisi yang tidak memenuhi siklus), nilai T juga dihitung.
Akhirnya, metode bundar asli digunakan untuk menghitung hasil V yang diperbesar/dapat menyusut, dan kemudian hasilnya diperbesar/dapat menyusut ke kelipatan yang benar.
Berikut ini adalah berbagai contoh angka dua digit yang ditahan
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
// mempertahankan dua tempat desimal
// Fungsi: Nomor titik mengambang bundar dan ambil 2 tempat desimal setelah titik desimal
fungsi todecimal (x) {
var f = parsefloat (x);
if (isnan (f)) {
kembali;
}
f = Math.round (x*100)/100;
kembali f;
}
// Sistem mempertahankan 2 tempat desimal, seperti: 2, 00 akan ditambahkan setelah 2, yaitu, 2,00 akan ditambahkan.
fungsi todecimal2 (x) {
var f = parsefloat (x);
if (isnan (f)) {
mengembalikan false;
}
var f = math.round (x*100)/100;
var s = f.toString ();
var rs = s.indexof ('.');
if (rs <0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
kembali S;
}
function fomatfloat (src, pos) {
return math.round (src*math.pow (10, pos))/math.pow (10, pos);
}
// pembulatan
peringatan ("Cadangan 2 Tempat Desimal:" + Todecimal (3.14159267));
alert ("dipaksa untuk mempertahankan 2 tempat desimal:" + todecimal2 (3.14159267));
peringatan ("Cadangan 2 Tempat Desimal:" + Todecimal (3.14559267));
alert ("dipaksa untuk mempertahankan 2 desimal:" + todecimal2 (3.15159267));
peringatan ("Cadangan 2 Tempat Desimal:" + FomatFloat (3.14559267, 2));
peringatan ("Cadangan 1 Tempat Desimal:" + FomatFloat (3.15159267, 1));
// lima putaran dan enam putaran
Peringatan ("Cadangan 2 Tempat Desimal:" + 1000.003.tofixed (2));
peringatan ("Cadangan 1 Tempat Desimal:" + 1000.08.Tofixed (1));
peringatan ("Cadangan 1 Tempat Desimal:" + 1000.04.tofixed (1));
peringatan ("Cadangan 1 Tempat Desimal:" + 1000.05.tofixed (1));
// Hitungan ilmiah
peringatan (3.1415.to exponential (2));
peringatan (3.1455.to exponential (2));
peringatan (3.1445.to exponential (2));
peringatan (3.1465.to exponential (2));
peringatan (3.1665.to exponential (1));
// tepat ke posisi n, tanpa posisi n
peringatan ("Tepat ke titik desimal kedua" + 3.1415.toprecision (2));
peringatan ("Tepat ke tempat desimal ketiga" + 3.1465.toprecision (3));
peringatan ("Tepat ke titik desimal kedua" + 3.1415.toprecision (2));
peringatan ("Tepat ke titik desimal kedua" + 3.1455.toprecision (2));
peringatan ("Tepat ke tempat desimal ke -5" + 3.141592679287.toprecision (5));
</script>
Di atas adalah semua kode. Apakah itu sangat sederhana? Saya berharap ini akan membantu semua orang