JavaScript empat operasi aritmatika
Penulis:Eve Cole
Waktu Pembaruan:2009-06-11 16:23:19
<skrip tipe="teks/javascript">
var jugaAString = '25';
var isANumber = 25;
// var isEqual = (alsoAString==isANumber); // Benar, keduanya 25.
var isEqual = (alsoAString===isANumber); // False , yang satu adalah angka, yang lainnya adalah string.
// waspada(sama);
var floatError=0,06+0,01
//peringatan(floatError);
//Fungsi pembagian, digunakan untuk mendapatkan hasil pembagian yang akurat
//Catatan: Hasil pembagian JavaScript akan mengalami error, yang akan lebih terlihat jelas saat membagi dua bilangan floating point. Fungsi ini mengembalikan hasil pembagian yang lebih akurat.
//Panggilan: accDiv(arg1,arg2)
//Nilai yang dikembalikan: hasil pasti dari pembagian arg1 dengan arg2
fungsi accDiv(arg1,arg2){
vart1=0,t2=0,r1,r2;
coba{t1=arg1.toString().split(".")[1].length}catch(e){}
coba{t2=arg2.toString().split(".")[1].length}catch(e){}
dengan(Matematika){
r1=Nomor(arg1.toString().replace(".",""))
r2=Nomor(arg2.toString().replace(".",""))
kembali (r1/r2)*pow(10,t2-t1);
}
}
//Tambahkan metode div ke tipe Nomor agar lebih nyaman untuk dipanggil.
Nomor.prototipe.div = fungsi (arg){
kembalikan accDiv(ini, arg);
}
//Fungsi perkalian, digunakan untuk mendapatkan hasil perkalian yang akurat
//Catatan: Hasil perkalian JavaScript akan mengalami error, yang akan semakin terlihat saat dua bilangan floating point dikalikan. Fungsi ini mengembalikan hasil perkalian yang lebih akurat.
//Panggilan: accMul(arg1,arg2)
//Nilai kembalian: hasil pasti dari mengalikan arg1 dengan arg2
fungsi accMul(arg1,arg2)
{
var 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(".",""))*Nomor(s2.replace(".",""))/Math.pow(10,m)
}
//Tambahkan metode mul ke tipe Nomor agar lebih nyaman untuk dipanggil.
Nomor.prototipe.mul = fungsi (arg){
kembalikan accMul(arg, ini);
}
//Fungsi penjumlahan, digunakan untuk mendapatkan hasil penjumlahan yang akurat
//Catatan: Hasil penjumlahan JavaScript akan mengalami error, yang akan lebih terlihat jelas saat menambahkan dua bilangan floating point. Fungsi ini mengembalikan hasil penjumlahan yang lebih akurat.
//Panggilan: accAdd(arg1,arg2)
//Nilai yang dikembalikan: hasil persis dari arg1 ditambah arg2
fungsi accAdd(arg1,arg2){
var r1,r2,m;
coba{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
coba{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
m=Matematika.pow(10,Matematika.max(r1,r2))
kembali (arg1*m+arg2*m)/m
}
//Tambahkan metode penambahan ke tipe Nomor agar lebih nyaman untuk dipanggil.
Nomor.prototipe.tambahkan = fungsi (arg){
return accAdd(arg,ini);
}
document.writeln("Operasi tidak ditingkatkan: 7*0.8="+7*0.8+"<br>");
document.writeln("Operasi setelah perbaikan: 7*0.8="+(7).mul(0.8)+"<br>");
document.writeln("Operasi tidak ditingkatkan: 0.06+0.01=" + 0.06+0.01 +"<br>")
document.writeln("Peningkatan operasi: 0.06+0.01=" + 0.06.add(0.01) +"<br>")
</skrip>