Dans Excel, lorsque j'entre 22222.09482, je vois le numéro 22222.0948199999 dans la barre de formule

28

Pourriez-vous s'il vous plaît aider - car j'ai une situation étrange que lorsque j'entre un numéro 22222.09482 dans la cellule, je vois un autre numéro 22222.0948199999 dans la barre de formule. Vous trouverez ci-dessous un instantané du problème.

Exemple d'erreur

Je vois le même comportement lorsque j'entre les chiffres suivants:

22222.09482
33333.09482
44444.09482
55555.09482

mais lorsque j'entre 11111.09482 et 66666.09482, 77777.09482 .. jusqu'à 99999.09482, ils s'affichent correctement. Je ne sais pas si cela est lié à l'arrondissement? Je n'ai configuré aucun profil d'arrondi. Pourriez-vous s'il vous plaît m'aider à résoudre le problème.

user954171
la source
1
Belle trouvaille, fait de même pour moi - pouvez-vous simplement utiliser ROUND()? =ROUND(A1,5), puis copiez / collez les données en tant que valeurs et supprimez les numéros d'origine?
BruceWayne
1
@BruceWayne, ce qui est intéressant ROUND(), c'est que les chiffres sont corrects, mais le copier / coller comme valeur le ramène au problème d'origine!
Rey Juna
1
@ReyJuna - Ensuite, refaites ROUND(A1,5)les valeurs collées. Copiez / collez ensuite ces valeurs Round(), puis recopiez / collez. ...: P ... c'est intéressant, et il semble que @EugenRieck ait le raisonnement. Bonne question!
BruceWayne
1
Vous souciez-vous réellement de la différence entre 22222.09482 et 22222.0948199999? C'est une différence de 5 parties sur 100 billions.
Russell Borogove
4
Les mathématiques en virgule flottante sont-elles cassées? . Cependant, c'est probablement un bogue, car il doublea suffisamment de précision pour que, lorsqu'il est arrondi, il affiche les valeurs correctes, comme la plupart des gens s'y attendaient
phuclv

Réponses:

31

C'est un bug.

Excel utilise la représentation habituelle de double précision IEEE, selon d'autres réponses. Sa précision est de 53 chiffres binaires significatifs, ce qui correspond à environ 16 chiffres décimaux.

Il est toujours «sûr» d'afficher les 15 premiers chiffres décimaux significatifs. En ce sens que tout nombre décimal «présenté» donné avec 15 chiffres peut être distingué en toute sécurité des nombres obtenus en changeant le 15e chiffre décimal par un. Par exemple, les nombres à 15 chiffres:

22222.09481 99999
22222.09482 00000
22222.09482 00001

mapper à trois nombres distincts à double précision. Aucun de ces trois ne sera "voisin" dans la représentation à double précision, dans ce cas particulier.

Donc, confondre les deux premiers dans l'affichage utilisateur, c'est un bug d'Excel.

En fait, dans ce domaine (entre 16384 et 32768), la précision absolue est de 2 à 38 , et les nombres suivants sont représentables:

...
22222.09481 99998 96571 9714760780334472656250000
22222.09481 99999 00209 9502831697463989257812500 <-- the one closest to what Excel showed to the user
22222.09481 99999 03847 9290902614593505859375000
22222.09481 99999 07485 9078973531723022460937500
22222.09481 99999 11123 8867044448852539062500000
22222.09481 99999 14761 8655115365982055664062500
22222.09481 99999 18399 8443186283111572265625000
22222.09481 99999 22037 8231257200241088867187500
22222.09481 99999 25675 8019328117370605468750000
22222.09481 99999 29313 7807399034500122070312500
22222.09481 99999 32951 7595469951629638671875000
22222.09481 99999 36589 7383540868759155273437500
22222.09481 99999 40227 7171611785888671875000000
22222.09481 99999 43865 6959682703018188476562500
22222.09481 99999 47503 6747753620147705078125000
22222.09481 99999 51141 6535824537277221679687500
22222.09481 99999 54779 6323895454406738281250000
22222.09481 99999 58417 6111966371536254882812500
22222.09481 99999 62055 5900037288665771484375000
22222.09481 99999 65693 5688108205795288085937500
22222.09481 99999 69331 5476179122924804687500000
22222.09481 99999 72969 5264250040054321289062500
22222.09481 99999 76607 5052320957183837890625000
22222.09481 99999 80245 4840391874313354492187500
22222.09481 99999 83883 4628462791442871093750000
22222.09481 99999 87521 4416533708572387695312500
22222.09481 99999 91159 4204604625701904296875000
22222.09481 99999 94797 3992675542831420898437500
22222.09481 99999 98435 3780746459960937500000000 <-- the one closest to what the user types
22222.09482 00000 02073 3568817377090454101562500
22222.09482 00000 05711 3356888294219970703125000
22222.09482 00000 09349 3144959211349487304687500
22222.09482 00000 12987 2933030128479003906250000
22222.09482 00000 16625 2721101045608520507812500
22222.09482 00000 20263 2509171962738037109375000
22222.09482 00000 23901 2297242879867553710937500
22222.09482 00000 27539 2085313796997070312500000
22222.09482 00000 31177 1873384714126586914062500
22222.09482 00000 34815 1661455631256103515625000
22222.09482 00000 38453 1449526548385620117187500
22222.09482 00000 42091 1237597465515136718750000
22222.09482 00000 45729 1025668382644653320312500
22222.09482 00000 49367 0813739299774169921875000
22222.09482 00000 53005 0601810216903686523437500
22222.09482 00000 56643 0389881134033203125000000
22222.09482 00000 60281 0177952051162719726562500
22222.09482 00000 63918 9966022968292236328125000
22222.09482 00000 67556 9754093885421752929687500
22222.09482 00000 71194 9542164802551269531250000
22222.09482 00000 74832 9330235719680786132812500
22222.09482 00000 78470 9118306636810302734375000
22222.09482 00000 82108 8906377553939819335937500
22222.09482 00000 85746 8694448471069335937500000
22222.09482 00000 89384 8482519388198852539062500
22222.09482 00000 93022 8270590305328369140625000
22222.09482 00000 96660 8058661222457885742187500
22222.09482 00001 00298 7846732139587402343750000
...

Pour élaborer davantage, essayez de taper 22222.09482dans une cellule et de taper 22222.0948199999(cinq neuf fin) dans une autre cellule. Excel devrait choisir les deux représentants IEEE indiqués par la flèche ci-dessus. Et je pense que oui, car vous pouvez calculer la différence de ces deux cellules à obtenir 9.82254E-11. Mais les deux sont représentés de la même manière.

Si Excel avait affiché les 17 premierschiffres, il serait utile de déterminer exactement quel numéro IEEE est "sous" le nombre décimal. Dans ce cas:

22222.0948199999 --> 22222.09481 99999 00
22222.09482      --> 22222.09481 99999 98

Mais afficher 15 chiffres arrondis de manière incorrecte est trompeur et inutile.


Avant que quelqu'un prétende que c'est intentionnel, alors pourquoi ne 8.7montre- t-il pas le même comportement? Le nombre à double précision le plus proche de 8.7est:

8.69999999999999 93

il devrait donc apparaître comme 8.69999999999999si c'était intentionnel. Mais ce n'est pas le cas.

Jeppe Stig Nielsen
la source
9
Tu as raison, c'est un bug. Les algorithmes de conversion d'un nombre à virgule flottante binaire affichant le moins de chiffres significatifs sont difficiles, mais connus. Il semble que quelqu'un ait raté un détail important.
Mark Ransom
2
@Ruslan J'ai vu beaucoup de discussions sur l'arithmétique à virgule flottante, sur Stack Overflow et d'autres sites SE, et souvent les gens donnent une réponse avec toutes sortes de vérités et notions générales sur la virgule flottante (binaire), sans se rapporter aux nombres réels et vérifier si le comportement est conforme IEEE. Je pense que je pourrais poster la question "Pourquoi 2.1 + 2.2revient 4.80000001?" et obtenir de nombreuses réponses disant que c'est ce à quoi je dois m'attendre lorsque j'utilise la virgule flottante.
Jeppe Stig Nielsen
1
@benshepherd: la capture d'écran de LibreOffice ne montre pas ce que montre la capture d'écran Excel
Thomas Weller
1
@JeppeStigNielsen: 2,1 + 2,2 = 4,8? C'est juste 0,5 de réduction. C'est normal.
Thomas Weller
@MarkRansom: donc, Excel l'implémente vraiment lui-même? Excel n'est pas implémenté en C ++ ou quelque chose qui fait ce calcul en virgule flottante pour cela? C'est ce que vous dites? Ou le bogue est-il déjà en C ++, donc il affecte des millions d'applications?
Thomas Weller
22

Excel stocke les nombres au format à virgule flottante 64 bits binaire IEEE 754 . La clé est "stores" - le passage de la décimale à la binaire a lieu chaque fois qu'un nombre est stocké, pas seulement lorsqu'il est utilisé dans un calcul réel.

Un bel article à ce sujet se trouve dans Comprendre la précision des virgules flottantes, alias "Pourquoi Excel me donne-t-il des réponses apparemment erronées?"

Il est possible de créer un tableur qui traiterait de très gros nombres avec beaucoup de chiffres significatifs. Mais ce n'est pas terriblement pratique. Excel aurait pu être conçu pour utiliser le format IEEE 754 decimal128 , qui autorise 34 chiffres décimaux - plus que suffisant pour stocker 22222.09482. Mais au lieu de cela, il utilise le format binaire64 Double Precision beaucoup plus courant , qui a 53 bits de précision, ce qui est un peu moins de 16 chiffres. Bien que vous puissiez penser que cela suffirait pour un nombre contenant seulement 10 chiffres, la conversion de la décimale en binaire complique un peu les choses - c'est-à-dire que 2222209482 peut être stocké à 100% correctement en tant que nombre binaire64, mais pas 22222.09482.

Gardez à l'esprit que les feuilles de calcul sont généralement utilisées pour les données financières, qui ne nécessitent généralement pas autant de chiffres de précision, ou pour la modélisation «et si» dans une variété de scénarios, où un niveau de précision très élevé n'est pas nécessaire. Il existe certainement d'autres outils (et probablement d'autres programmes de feuille de calcul, mais je n'ai pas cherché récemment) qui, par défaut ou par des paramètres de configuration spéciaux, peuvent utiliser un format numérique plus grand, mais Excel n'en fait pas partie.

Pour ceux qui soulignent que LibreOffice gère mieux cela, l'apparence peut être trompeuse. Voir cet article pour plus de détails. Il semble que LibreOffice gère les grands nombres légèrement différemment mais a la même représentation de base en virgule flottante 64 bits avec des problèmes similaires.

manassehkatz-Reinstate Monica
la source
3
Cette réponse serait meilleure si elle expliquait également l'observation selon laquelle certains nombres avec décimales sont affichés exactement tels qu'ils ont été saisis - comme 11111.09482 dans l'exemple du PO.
andrew
11
Juste pour le plaisir: 22222.09482est stocké comme 1.0101101100111000011000010001100001111110011111000000₂ * 2₁₀^(10000001101₂ - 1023₁₀)dans IEEE 754, ou en d'autres termes comme exactement 1.35632902954101553 * 2^14, ce qui est 22222.0948199999984353787904.
YoYoYonnY
1
Binary64 (aka double précision) est plus que suffisant pour un nombre à dix chiffres décimaux. Bien sûr, il ne peut pas être représenté exactement, mais la plupart des nombres, y compris 0.2et 0.1ne peuvent pas être représentés exactement (la fraction 1/5 (un cinquième) a une expansion binaire récurrente infinie). Cependant, Excel montre les choses de manière confuse.
Jeppe Stig Nielsen
2
"Gardez à l'esprit que des feuilles de calcul sont généralement utilisées pour les données financières, qui ne nécessitent généralement pas autant de chiffres de précision" - ce qui est généralement très faux - les données financières nécessitent un comportement précis dans le sens "ce que vous tapez est ce que vous attendez y restera" ", Vous avez raison avec la conversion décimale / binaire, etc., mais cet argument particulier n'est pas valide! Pour les données financières, nous utilisons généralement une sorte de format Moneyou BigInteger, qui utilise souvent un format de stockage décimal .
Honza Zidek
4
Cette réponse n'est pas suffisante pour expliquer ce qui se passe. Nous observons un bogue dans Excel, où le nombre est mal formaté . 22222.09482 et 22222.0948199999 sont des nombres binaires64 distincts.
Ruslan
11

Lors de ses calculs, Excel doit trouver une bonne représentation binaire interne pour les nombres qu'il utilise. Dans votre cas, il utilise un nombre à virgule flottante et, en fait, ce format de données a une (très bonne) approximation pour votre numéro, mais aucune correspondance exacte. Donc, si vous ne dites pas explicitement à Excel quel format de sortie utiliser, il fera un "meilleur effort", ce qui donnera une sortie plus proche de la valeur calculée en interne, mais ce n'est pas exactement le texte que vous entrez.

Juste pour que ce soit clair: comprendre que le texte que vous avez entré représente un nombre et convertir la séquence de chiffres en un nombre répond déjà à la définition de "calcul" ci-dessus.

MODIFIER

Je n'ai pas été suffisamment clair, je considère que le choix d'utiliser une représentation en virgule flottante 64 bits est en fait une bonne: Excel n'est pas un outil pour les scientifiques, où une erreur d'arrondi dans le 11e chiffre après la virgule décimale fait un grand impact, mais les comptables ne veulent pas que leur vitesse de traitement soit réduite d'un facteur de millions pour accueillir une source de calcul inexact qui pourrait se manifester par des chiffres qu'ils n'utilisent jamais.

Si vous utilisez un tableur pour lequel il a été conçu et que vous utilisez un formatage de sortie explicite pour vous assurer que ces effets ne parviennent jamais dans le domaine visible, tout ira bien.

Eugen Rieck
la source
1
Les commentaires ne sont pas pour une discussion approfondie; cette conversation a été déplacée vers le chat .
DavidPostill
1
Cette réponse n'est pas suffisante pour expliquer ce qui se passe. Nous observons un bogue dans Excel, où le nombre est mal formaté. 22222.09482 et 22222.0948199999 sont des nombres binaires64 distincts.
Ruslan
2

Lorsque j'entre 11111.09482 et 66666.09482, 77777.09482 .. jusqu'à 99999.09482, ils s'affichent correctement. Je ne sais pas si cela est lié à l'arrondissement? Je n'ai configuré aucun profil d'arrondi. Pourriez-vous s'il vous plaît m'aider à résoudre le problème.

Certains nombres peuvent être représentés correctement et d'autres non.

Définissez la précision affichée de manière appropriée pour vos calculs et utilisez la fonction round () .

  • Explication:

  • Solution:

    Vous pouvez fréquemment empêcher les erreurs d'arrondi à virgule flottante d'affecter votre travail en définissant l'option Précision comme affiché avant d'appliquer un format numérique à vos données. Cette option force la valeur de chaque nombre dans la feuille de calcul à la précision qui est affichée sur la feuille de calcul.

    1. Cliquez sur Fichier> Options.
      Dans Excel 2007: cliquez sur l'image du bouton Office de Microsoft Office Button, puis sur Options Excel.
      Image du bouton

    2. Cliquez sur Avancé, puis sous Lors du calcul de ce classeur, activez la case à cocher Définir la précision comme affiché, puis cliquez sur OK.

    3. Cliquez sur OK.

    4. Dans la feuille de calcul, sélectionnez les cellules que vous souhaitez formater.

    5. Sous l'onglet Accueil, cliquez sur l'image du bouton Lanceur de boîte de dialogue en regard de Numéro.
      Image du bouton du lanceur
      Image du ruban Excel

    6. Dans la zone Catégorie, cliquez sur Numéro.

    7. Dans la zone Décimales, entrez le nombre de décimales que vous souhaitez afficher.

    Conseil: Pour minimiser les effets de l'inexactitude du stockage arithmétique à virgule flottante, vous pouvez également utiliser la fonction ROUND pour arrondir les nombres au nombre de décimales requis par votre calcul.

  • Journal of Accountancy - " Bugged by Excel's computing errors ":

    Certains nombres impairs créent des décimales binaires répétitives, et lorsque ces chiffres répétitifs sont coupés après 15 positions, le nombre binaire ne se reconvertit pas avec précision à la valeur numérique voulue. Par exemple, dans toutes les éditions d'Excel, la formule 22.26 - 21.29 devrait donner 0,97, mais à la place, elle donne 0,970000000000002. Essayez-le et n'oubliez pas d'augmenter la largeur de votre colonne et les décimales afin que vous puissiez voir le problème de calcul.

    Ces erreurs sont généralement considérées comme insignifiantes ou immatérielles car elles se manifestent rarement par des erreurs de calcul significatives; Néanmoins, voici deux mesures que vous pouvez prendre pour éliminer les erreurs potentielles de virgule décimale flottante:

    1. La fonction ROUND. Utilisez la fonction ROUND d'Excel pour arrondir vos valeurs calculées à la décimale souhaitée, éliminant ainsi toute possibilité d'anomalies à 15 chiffres. Par exemple, la formule = ROUND (-21,29 + 22,26,2) donne exactement 0,97.

    2. Précision. Vous pouvez activer l'option Précision affichée d'Excel pour forcer toutes les formules à tronquer et arrondir les valeurs calculées en fonction des chiffres visibles.

    Pour activer cette option dans Excel 2013, 2010 et 2007, sélectionnez Fichier (ou Office Orb), Options (ou Options Excel), Avancé et dans la section Lors du calcul de ce classeur, cochez la case Définir la précision comme affiché, puis puis cliquez sur OK.

    Dans Excel 2003, 2002 et 2000, dans le menu Outils, sélectionnez Options et sous l'onglet Calcul, sous Options du classeur, cochez la case Précision comme affiché, puis cliquez sur OK.

Rob
la source
1
L'explication n'est pas pertinente: la différence entre les nombres attendus et obtenus est de 28 ULP - beaucoup trop pour une erreur d'arrondi naturelle. La "solution" cache juste un vrai bug.
Ruslan
Ce serait formidable si vous pouviez poster cela, avec quelques liens à l'appui de votre réponse, comme votre propre réponse au lieu d'un commentaire. De cette façon, il serait porté à l'attention de l'utilisateur 954171 et les gens pourraient voter à ce sujet. Pouvez-vous fournir un lien vers le rapport de bogue?
Rob
Il y a déjà une réponse avec tous les détails mathématiques pertinents. Je ne connais aucun rapport de bogue à ce sujet.
Ruslan
0

Comme je suis sûr que vous le savez, les ordinateurs ne fonctionnent en interne qu'en utilisant des zéros et des uns (aka bits) et ont un nombre fixe de bits pour représenter une valeur (généralement 64 bits de nos jours). Cela signifie que le nombre de valeurs différentes pouvant être représentées est de 2 à la 64e puissance. C'est un nombre énorme, bien sûr, mais le nombre de valeurs possibles est fini, donc tous les nombres ne peuvent pas être représentés. Lorsqu'il rencontre un nombre qu'il ne peut pas représenter exactement, il est automatiquement remplacé par le plus proche qu'il peut représenter. Voilà ce que vous voyez.

Javier Alvarado
la source
Êtes-vous en train de dire que c'est à cause de la conversion de la base numérique ou de la quantité limitée de mémoire par valeur? Dans les deux cas, votre raisonnement est erroné. Techniquement, il est parfaitement possible d'avoir une précision arbitraire et des nombres de longueur arbitraires - en supposant une mémoire infinie. Pour donner un exemple, il y a GNU bignum. En outre, il n'y a pas de besoin inhérent de coder des nombres dans un format avec perte. Donc, ni l'informatique n'est en faute, ni les nombres binaires. Ce ne sont que les développeurs d'Excel qui ont choisi un codage numérique qui est une entrée utilisateur avec perte.
phresnel
-1

Les ordinateurs font leurs calculs en binaire et utilisent presque toujours des virgules flottantes pour les valeurs non entières. Les seules valeurs fractionnaires qui peuvent être représentées précisément en virgule flottante doivent être une somme d'une combinaison de puissances fractionnaires de 2 (1/2, 1/4, 1/8, 1/16, 1/32, ...) se terminant à la limite de précision prévue (généralement 53 bits). Ces valeurs n'ont pas toujours une représentation ordonnée ou exacte en décimal, et inversement, toutes les valeurs fractionnaires que vous pouvez représenter exactement en décimal n'auront pas une représentation exacte en binaire. Par exemple: 0,1. Il ne peut pas être représenté comme une somme de puissances fractionnaires de 2 qui ne dure pas éternellement.

Lorsque vous entrez une valeur décimale dans votre feuille de calcul, elle sera convertie et stockée en binaire, et les cas tels que vous l'avez décrit, deviendront l'approximation la plus proche pouvant être représentée en binaire. Lorsqu'il est affiché, il est reconverti en décimal, nécessitant à nouveau une approximation, qui peut ne pas se reconvertir exactement à la même représentation que vous avez entrée.

Pourquoi 53 bits (donner ou prendre)? Parce que la norme typique pour le stockage de virgule flottante "double précision" utilise 64 bits, dans lesquels il y a une mantisse (également appelée significande), un indicateur de signe et un exposant. L'exposant se voit généralement allouer 10 bits, le signe en prend un, laissant 53 pour la mantisse. C'est pour le stockage. Les calculs sont généralement effectués en utilisant 80 bits et arrondis en arrière.

Il existe des situations où les ordinateurs fonctionneront en base 10, en particulier lorsqu'ils travaillent avec des valeurs monétaires où les artefacts d'arrondi ne sont pas acceptables.

Zenilogix
la source
2
Je ne suis pas d'accord avec une déclaration Tous les ordinateurs . Il y avait de nombreux ordinateurs, il est vrai que la plupart ne sont plus utilisés, sauf en tant que pièces de musée, qui utilisaient des formats numériques décimaux pour le stockage et les calculs. Il existe également BCD - Binary Coded Decimal - utilisé dans un certain nombre de processeurs plus récents, y compris une utilisation limitée dans les processeurs Intel. Rien de tout cela n'est pertinent pour la question à l'examen - la méthode utilisée par Microsoft Excel pour stocker les nombres, qui est tout binaire. Mais "Tous les ordinateurs" n'est pas correct.
manassehkatz-Reinstate Monica
Je vois le changement de "Tous les ordinateurs" à "Ordinateurs" - j'irais avec "Presque tous les ordinateurs" ou "La plupart des ordinateurs modernes" ou quelque chose comme ça. Je sais - je suis difficile. Mais les ordinateurs aussi :-)
manassehkatz-Reinstate Monica
@manassehkatz Tous les ordinateurs numériques sont fondamentalement binaires. BCD est juste une structure de base 10 au-dessus du binaire pour faciliter l'arithmétique décimale.
Zenilogix
Bien que tous les ordinateurs numériques soient fondamentalement binaires, il y en avait en fait pas mal au début qui étaient basés sur la décimale. Mais je suis d'accord que BCD est essentiellement une structure base-10 au-dessus du binaire pour faciliter l'arithmétique décimale.
manassehkatz-Reinstate Monica
Cette réponse sonne comme si c'était la faute de l'ordinateur. Mais ce n'est pas le cas. Vous pouvez représenter n'importe quel nombre précisément que vous pourriez écrire sur du papier (représenter 1/3 exactement? Facile lors du stockage en fraction, par exemple). Il s'agit vraiment de la représentation que les auteurs d'Excel ont choisie pour représenter les nombres.
phresnel
-1

Comme beaucoup l'ont dit ci-dessus, il s'agit d'une erreur de représentation interne. Excel a fait le choix des nombres à virgule flottante 64 bits double précision. Cela vous donne 2 64 valeurs possibles. Le domaine des nombres réels contient une infinité de valeurs, donc lorsque vous essayez d'en utiliser un qui ne peut pas être représenté par Excel, il utilise le plus proche qui peut être représenté.

J'ai vu des commentaires disant que, étant donné la mémoire infinie, tout nombre réel peut être représenté. C'est vrai, mais il n'y a pas de "mémoire infinie" donc c'est un point discutable. D'autres ont déclaré qu'Excel aurait pu utiliser une représentation interne plus grande, par exemple 128 bits. Certes, mais il s'avère que les ordinateurs sont meilleurs pour effectuer des opérations mathématiques sur des nombres représentés avec le nombre de bits qui correspond à la taille du bus du processeur. Ainsi, un ordinateur 32 bits sera plus rapide lors d'opérations mathématiques sur des nombres 32 bits et un ordinateur 64 bits sera plus rapide lors d'opérations mathématiques sur des nombres 64 bits. Si et quand il y aura un ordinateur 128 bits, nous pouvons nous attendre à ce qu'Excel passe à une représentation numérique de 128 bits. Cela fournira toujours un ensemble de nombres très grand mais limité qui peut être représenté.

Si votre préoccupation concerne l'aspect des nombres dans la feuille de calcul, l'utilisation d'une précision définie (nombre de décimales) vous donnera des résultats cohérents. Si votre préoccupation concerne la différence entre le nombre que vous tapez et le nombre réel stocké par Excel, vous avez raison de vous inquiéter. La différence est réelle et l'erreur sera répercutée sur tous les calculs que vous effectuerez. Je crains que vous ne soyez coincé avec cette erreur. Il s'agit d'une limitation d'Excel, pas d'un bug comme certains l'ont dit. Il est peu probable que cela change de sitôt, donc si cela n'est pas acceptable pour vous, je vous suggère de rechercher une autre application de feuille de calcul qui peut représenter des nombres avec une plus grande précision. Mais gardez à l'esprit que si vous trouvez une telle application, la limitation est toujours là. C'est juste la taille de l'erreur qui est différente.

Tibi
la source