/Точное дополнение и вычитание. Например, 0,1+0,2 = 0,3 или 0,1-0,2 = -0,1
Кода -копия выглядит следующим образом:
функция addfn (dataOne, dataTwo) {
var dataOneint = dataOne.toString (). Dipl (".") [0];
var DataOnefloat = "";
var dataTwoint = dataTwo.toString (). Split (".") [0];
var dataTwofloat = "";
var lengthOne = 0;
var lengthtwo = 0;
var maxlength = 0;
if (dataOne.toString (). Split ("."). Длина == 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 <maxlength-dengthone; i ++) {
dataOnefloat+= "0";
}
for (var i = 0; i <maxlength-hulengthtwo; i ++) {
DataTwofloat+= "0";
}
/**
*Многократное усиление двух данных
* Заставьте их все стать целыми. Потому что целочисленное расчет
*Более точно.
*/
var One = dataOneint+""+dataOnefloat;
var two = dataTwoint+""+dataTwofloat;
// alert ("DataOne:"+dataOne+"dataTwo:"+dataTwo+"One:"+One+"Two:"+Two);
/**
*После расширения данных расчетный результат будет
* Затем сокращается одно и то же множество
*Затем получите правильный результат
*/
var result = (номер (один)+номер (два))/math.pow (10, maxlength);
результат возврата;
}