/ Ajout précis et soustraction. Par exemple 0,1 + 0,2 = 0,3 ou 0,1-0,2 = -0,1
La copie de code est la suivante:
fonction addfn (dataone, datatwo) {
var dataOneInt = dataOne.ToString (). Split (".") [0];
var dataOnefloat = "";
var datatwoint = datatwo.toString (). Split (".") [0];
var datatwofloat = "";
var longueur = 0;
var longueurtwo = 0;
var maxLength = 0;
if (dataone.toString (). Split ("."). Length == 2) {
dataOneFloat = dataOne.ToString (). Split (".") [1];
Longueur = DataOneFloat.ToString (). Longueur;
}
if (datatwo.toString (). Split ("."). longueur == 2) {
datatwofloat = datatwo.toString (). Split (".") [1];
LONGGETTWO = DATATWOFLOAT.TOSTRING (). LONGGET;
}
maxLength = math.max (Longueur, LongueurTwo);
pour (var i = 0; i <maxLength-lingthone; i ++) {
dataOnefloat + = "0";
}
pour (var i = 0; i <maxLength-LengthTwo; i ++) {
datatwofloat + = "0";
}
/ **
* Amplification multiple de deux données
* Faites-les tous devenir des entiers. Parce que le calcul entier
* Plus précis.
* /
var one = dataoneInt + "" + dataOneFloat;
var deux = datatwoint + "" + datatwofloat;
// alert ("dataone:" + dataone + "datatwo:" + datatwo + "one:" + one + "deux:" + deux);
/ **
* Une fois les données élargies, le résultat calculé sera
* Puis rétrécissez le même multiple
* Alors obtenez le résultat correct
* /
var result = (nombre (un) + nombre (deux)) / math.pow (10, maxLength);
Résultat de retour;
}