Rumah hujung hadapan web tutorial js js中精确计算加法和减法示例_javascript技巧

js中精确计算加法和减法示例_javascript技巧

May 16, 2016 pm 04:53 PM
Penolakan tambahan

/精确计算加法和减法。例如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;idataOneFloat+="0";
}
for(var i=0;idataTwoFloat+="0";
}

/**
*对两个数据进行倍数放大
*使其都变为整数。因为整数计算
*比较精确。
*/
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;

}
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menulis kod tambahan Python_Tutorial menulis kod tambahan Python Cara menulis kod tambahan Python_Tutorial menulis kod tambahan Python Apr 02, 2024 pm 06:16 PM

Cara menulis kod tambahan Python_Tutorial menulis kod tambahan Python

Kemahiran operasi pangkalan data Oracle: penerangan terperinci tentang operasi tolak Kemahiran operasi pangkalan data Oracle: penerangan terperinci tentang operasi tolak Mar 02, 2024 pm 06:15 PM

Kemahiran operasi pangkalan data Oracle: penerangan terperinci tentang operasi tolak

Bahagi dua integer tanpa menggunakan pengendali pendaraban, pembahagian dan modulo Bahagi dua integer tanpa menggunakan pengendali pendaraban, pembahagian dan modulo Sep 21, 2023 pm 12:41 PM

Bahagi dua integer tanpa menggunakan pengendali pendaraban, pembahagian dan modulo

Bagaimana untuk melakukan penolakan dalam Excel Bagaimana untuk melakukan penolakan dalam Excel Mar 20, 2024 pm 02:46 PM

Bagaimana untuk melakukan penolakan dalam Excel

Terokai maksud dan aplikasi pengendali Python: penambahan, penolakan, pendaraban dan pembahagian Terokai maksud dan aplikasi pengendali Python: penambahan, penolakan, pendaraban dan pembahagian Jan 20, 2024 am 09:21 AM

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

Program C untuk penambahan dan pendaraban menggunakan operasi bitwise Program C untuk penambahan dan pendaraban menggunakan operasi bitwise Sep 16, 2023 pm 07:49 PM

Program C untuk penambahan dan pendaraban menggunakan operasi bitwise

Cara membuat reka bentuk tolak dan mencantikkan carta dalam PPT Cara membuat reka bentuk tolak dan mencantikkan carta dalam PPT Mar 20, 2024 pm 02:00 PM

Cara membuat reka bentuk tolak dan mencantikkan carta dalam PPT

Mengapa membahagikan 8 dengan -3 dalam PHP menghasilkan 0? Mengapa membahagikan 8 dengan -3 dalam PHP menghasilkan 0? Jan 26, 2024 am 10:36 AM

Mengapa membahagikan 8 dengan -3 dalam PHP menghasilkan 0?

See all articles