Question

J'ai cette ligne:

for (var j = 0; j<1; j = (j + 0.1).toPrecision(1))

Je suis en train de mettre en place cette déclaration si je reçois 0, 0,1, 0,2, 0,3 au nombre 1.

Au moment où je reçois 0, 0,1, puis rien, comme si le résultat va droit passé 1,

Il suffit en utilisant j = j + 0,1 produit des erreurs d'arrondi et j'ai besoin de la précision décimale.

Toutes les suggestions?

Était-ce utile?

La solution

Essayez ceci ... Lorsque vous utilisez toPrecision son numéro ne plus il échoue après la première itération.

for (var j = 0; j<1; j = (parseFloat(j) + 0.1).toPrecision(1)) 

Autres conseils

Il est préférable de faire

for (var jj = 0; jj < 10; ++ jj) {
   var j = jj / 10;
   ...
}

si vous avez besoin de précision.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top