js中精确计算加法和减法示例_javascript技巧
May 16, 2016 pm 04:53 PM/精确计算加法和减法。例如0.1+0.2=0.3或 0.1-0.2=-0.1
function addFn(dataOne,dataTwo){
var dataOneInt=dataOne.toString().split(".")[0];
var dataOneFloat="";
var dataTwoInt=dataTwo.toString().split(".")[0];
var dataTwoFloat="";
var lengthOne=0;
var lengthTwo=0;
var maxlength=0;
if(dataOne.toString().split(".").length==2){
dataOneFloat=dataOne.toString().split(".")[1];
lengthOne=dataOneFloat.toString().length;
}
if(dataTwo.toString().split(".").length==2){
dataTwoFloat=dataTwo.toString().split(".")[1];
lengthTwo=dataTwoFloat.toString().length;
}
maxLength=Math.max(lengthOne,lengthTwo);
for(var i=0;i
}
for(var i=0;i
}
/**
*对两个数据进行倍数放大
*使其都变为整数。因为整数计算
*比较精确。
*/
var one=dataOneInt+""+dataOneFloat;
var two=dataTwoInt+""+dataTwoFloat;
//alert("dataOne:"+dataOne+" dataTwo:"+dataTwo +" one:"+one+" two:"+two);
/**
*数据扩大倍数后,经计算的到结果,
*然后在缩小相同的倍数
*进而得到正确的结果
*/
var result= (Number(one)+Number(two))/Math.pow(10,maxLength);
return result;
}

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara menulis kod tambahan Python_Tutorial menulis kod tambahan Python

Kemahiran operasi pangkalan data Oracle: penerangan terperinci tentang operasi tolak

Bahagi dua integer tanpa menggunakan pengendali pendaraban, pembahagian dan modulo

Bagaimana untuk melakukan penolakan dalam Excel

Terokai maksud dan aplikasi pengendali Python: penambahan, penolakan, pendaraban dan pembahagian

Program C untuk penambahan dan pendaraban menggunakan operasi bitwise

Cara membuat reka bentuk tolak dan mencantikkan carta dalam PPT

Mengapa membahagikan 8 dengan -3 dalam PHP menghasilkan 0?
