Saya biasa menemukan kode ini di internet sebelumnya, tetapi dalam kondisi tertentu, divisi dan operasi tambahan masih akan muncul.
Salin kode kode sebagai berikut:
// Kecuali metode untuk mendapatkan metode yang tepat untuk menghapus metode ini
// Deskripsi: Hasil JavaScript akan memiliki kesalahan, dan akan jelas ketika dua angka floating -point dihapus. Fungsi ini mengembalikan hasil penghapusan yang lebih akurat.
// PANGGIL: ACCDIV (ARG1, ARG2)
// nilai pengembalian: arg1 kecuali hasil yang akurat dari arg2
Fungsi accdiv (arg1, arg2) {{
var t1 = 0, t2 = 0, r1, r2;
coba {t1 = arg1.toString ().
coba {t2 = arg2.toString ().
dengan (matematika) {
R1 = angka (arg1.toString (). Ganti (".", ""))
r2 = angka (arg2.tostring (). ganti (".", ""))
Return accmul ((r1 / r2), pow (10, t2 -t1));
}
}
Salin kode kode sebagai berikut:
// fungsi multiplikasi untuk mendapatkan hasil perkalian yang akurat
// Deskripsi: Hasil dari hasil perkalian JavaScript akan memiliki kesalahan, dan akan jelas ketika dua angka poin mengambang dikalikan. Fungsi ini mengembalikan hasil perkalian yang lebih akurat.
// PANGGIL: ACCMUL (ARG1, ARG2)
// nilai pengembalian: arg1 dikalikan dengan hasil yang akurat Arg2
Fungsi accmul (arg1, arg2) {{
varm m = 0, s1 = arg1.toString (), s2 = arg2.toString ();
Coba {m += s1.split (".") [1] .length} catch (e) {}
Coba {m += s2.split (".") [1] .length} catch (e) {}
Return Number (S1.Replace (".", "") * Number (s2.replace (".", "") / Math.pow (10, m)
}
Salin kode kode sebagai berikut:
// Tambahkan metode untuk menghitung solusi menengah
Fungsi acadd (arg1, arg2) {{
var r1, r2, m, c;
coba {r1 = arg1.toString ().
coba {r2 = arg2.toString ().
c = math.abs (r1 -r2);
M = Math.pow (10, Math.max (R1, R2)))
if (c> 0) {{
var cm = math.pow (10, c);
if (r1> r2) {
arg1 = angka (arg1.toString (). ganti ("". "," ");
arg2 = angka (arg2.toString (). ganti (".", "") * cm;
}
kalau tidak {
arg1 = angka (arg1.toString (). REPLACE (".", "") * cm;
arg2 = angka (arg2.toString (). ganti ("". "," ");
}
}
kalau tidak {
arg1 = angka (arg1.toString (). ganti ("". "," ");
arg2 = angka (arg2.toString (). ganti ("". "," ");
}
Return accdiv ((arg1 + arg2), m);
}