Après avoir passé des heures à essayer de trouver une erreur dans ma feuille de calcul comptable personnelle, j'ai pu l'épingler à une formule.
Bien que cela se traduise par zéro
=((0,6-0,3-0,4)+(-0,3+0,8-0,4))
le comparer avec Zero me donne de faux
=((0,6-0,3-0,4)+(-0,3+0,8-0,4))=0
Qu'est-ce que je manque?
google-sheets
bruno
la source
la source
0 != 0
.Réponses:
Grâce aux merveilles de l' arithmétique à virgule flottante ,
Évalue à environ -5,55e-17 en double précision. Cela vaut aussi bien pour JavaScript que pour les feuilles de calcul Google. Peu importe que le calcul soit côté client ou côté serveur: ce qui compte, c'est le format numérique utilisé. Il semble que Google Sheets utilise une double précision .
La solution est la même: éviter la comparaison d'égalité pour les nombres à virgule flottante. Dans votre cas, changer les unités en multipliant tout par 10 éviterait le problème.
la source
=FLOOR(B3+C2, 0.01)
travailler avec la devise