Salin kode kode sebagai berikut:
(Fungsi () {)
var calc =
/*
Fungsi, menambahkan fungsi untuk mendapatkan hasil yang akurat dari metode tambahan
CATATAN: Akan ada kesalahan dalam hasil JavaScript, dan akan jelas ketika dua nomor poin mengambang ditambahkan. Fungsi ini mengembalikan hasil penambahan yang lebih akurat.
Parameter: arg1: angka plus pertama;
Panggilan: calc.add (arg1, arg2, d)
Nilai pengembalian: Hasil dari dua angka Tambahkan
*/
Tambahkan: function (arg1, arg2, d) {
arg1 = arg1.toString (), arg2 = arg2.toString ();
Var arg1arr = arg1.split ("."), Arg2arr = arg2.split ("."), D1 = arg1arr.length == 2? [1]: "" ;;
var maxlen = math.max (d1.length, d2.length);
var m = math.pow (10, maxlen);
var result = angka ((arg1 * m + arg2 * m) / m) .tofixed (maxlen));
var d = argumen [2];
Tipe pengembalian d === "Nomor"?
},
/*
Fungsi: fungsi pengurangan untuk mendapatkan hasil pengurangan yang akurat
Catatan: Fungsi mengembalikan hasil pengurangan yang lebih akurat.
Parameter: arg1: plus pertama;
Panggilan: calc.sub (arg1, arg2)
Nilai Pengembalian: Hasil Pengurangan Dua Angka
*/
Sub: function (arg1, arg2) {
Return calc.add (arg1, -number (arg2), argumen [2]);
},
/*
Fungsi: fungsi multiplikasi, digunakan untuk mendapatkan hasil perkalian yang akurat
Catatan: Fungsi mengembalikan hasil perkalian yang lebih akurat.
Parameter: Arg1: Perkalian pertama;
Panggilan: calc.mul (arg1, arg2)
Nilai pengembalian: hasil penggandaan dua angka
*/
Mul: function (arg1, arg2) {
var r1 = arg1.toString (), r2 = arg2.tostring (), m, resultVal, d = argumen [2];
m = (r1.split (".") [1]? r1.split (".") [1] .length: 0) + (r2.split (".") [1]? r2.split (" ".") [1] .length: 0);
ResultVal = angka (r1.replace (".", "") * Number (r2.replace (".", "") / Math.pow (10, m);
Tipe Return D! == "Number"?
},
/*
Fungsi: Kecuali metode untuk mendapatkan hasil penghapusan yang akurat
Catatan: Fungsi mengembalikan hasil penghapusan yang lebih akurat.
Parameter: Arg1: Divisi;
Panggilan: calc.div (arg1, arg2)
Nilai pengembalian: arg1 kecuali hasil arg2
*/
Div: function (arg1, arg2) {
var r1 = arg1.toString (), r2 = arg2.tostring (), m, resultVal, d = argumen [2];
m = (r2.split (".") [1]? r2.split (".") [1] .length: 0) - (r1.split (".")? r1.split ("". " ) [1] .length: 0);
resultVal = angka (r1.replace (".", "") / number (r2.replace (".", "") * Math.pow (10, m);
Tipe Return D! == "Number"?
},
/*
Format nilai setelah memasuki lima rumah.
@Param num value (nomor atau string)
@param center untuk dipertahankan
@Param ISTHUBER, apakah Anda membutuhkan seribu poin 0: tidak perlu, 1: perlu (tipe numerik);
@Return Format String, seperti '1.234.567.45'
@Type string
Panggilan: Calc.FormatNumber (Num, Cent, ISTHUBER)
*/
FormatNumber: Fungsi FormatNumber (num, sen, ISTHUBER) {
num = num.toString ().
if (isnan (num)) // periksa jumlah nilai asupan untuk tipe numerik.
num = "0";
If (isnan (sen)) // pastikan bahwa angka kecil diperkenalkan ke nilai tipe nilai.
tengah = 0;
Center = parseInt (center);
Center = Math.ABS (Center);
If (isnan (ISTHUBER)) // Pastikan apakah itu harus diteruskan ke seribu poin ke jenis numerik.
ISTHUBER = 0;
ISTHUBER = PARSEInt (ISTHUBER);
if (ISTHUBER <0)
ISTHUBER = 0;
If (ISTHUBER> = 1) // Pastikan nilai asupan hanya 0 atau 1
ISTHUBER = 1;
tanda = (num == (num = math.abs (num)); // Dapatkan simbol (positif/negatif)
//Math.floor: Mengembalikan bilangan bulat maksimum yang kurang dari sama dengan parameter numeriknya
num = math.floor (num*math.pow (10, center) +0.50000000001);
center = num%math.pow (10, center); // Temukan nilai digit desimal.
num = math.floor (num/math.pow (10, center)).
ques = center.tostring (); // Konversi bit desimal menjadi string untuk menemukan panjang desimal.
While (central.length <cent) {// buat angka ke digit yang ditentukan.
Center = "0" + Center;
}
if (ISTHUBER == 0) // Tidak perlu ribuan kuota.
Return ((Sign)? '': '-') + num + '. + Cents);
// Format bagian integer untuk ribuan poin.
untuk (var i = 0; i <math.floor ((num.length- (1+i))/3); i ++)
Num = num.substring (0, num.length- (4*i+3))+'+
num.substring (num.length- (4*i+3));
Return ((Sign)? '': '-') + num + '. + Cents);
}
};
Window.calc = calc;
} ());