[Résolu] Erreur de calcul sur la 16e décimale
Modérateur : Vilains modOOs
Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
-
- NOOuvel adepte
- Messages : 18
- Inscription : 27 oct. 2007 18:45
- Localisation : Haute Saône
[Résolu] Erreur de calcul sur la 16e décimale
Bonjour
En faisant l opération 4-3,7 (je tape 4 et 3,7) sur Ooo Calc v3, j'obtiens -0.03000000000000020000
je ne comprends pas ce que vient faire le 2 en 16 eme décimale?
C est gènant car ce résultat rentre dans une formule avec <=0.3 et donc il considere ce résultat >3.
Dans les options de calcul de calc je suis par défaut à 2 décimales.
Il me semble que j'ai déjà vu cela sur le forum mais je n'arrive pas à le retrouver.
Merci d avance
En faisant l opération 4-3,7 (je tape 4 et 3,7) sur Ooo Calc v3, j'obtiens -0.03000000000000020000
je ne comprends pas ce que vient faire le 2 en 16 eme décimale?
C est gènant car ce résultat rentre dans une formule avec <=0.3 et donc il considere ce résultat >3.
Dans les options de calcul de calc je suis par défaut à 2 décimales.
Il me semble que j'ai déjà vu cela sur le forum mais je n'arrive pas à le retrouver.
Merci d avance
Dernière modification par ROXANE43 le 22 déc. 2008 13:40, modifié 3 fois.
OOo 3
Windows XP PRO
Windows XP PRO
-
- ManitOOu
- Messages : 3456
- Inscription : 12 janv. 2006 10:04
Re: erreur de calcul?
Bonjour
Je ne reproduis pas le problème, que ce soit en version 3.0 ou en version 2.4.1.
Le résultat n'est d'ailleurs pas de -0.03000000000000020000 , mais 0,30000000000000000000
Envoyez-nous votre fichier pour voir.
Comment faire : http://user.services.openoffice.org/fr/ ... =1&t=10246
Je ne reproduis pas le problème, que ce soit en version 3.0 ou en version 2.4.1.
Le résultat n'est d'ailleurs pas de -0.03000000000000020000 , mais 0,30000000000000000000
Envoyez-nous votre fichier pour voir.
Comment faire : http://user.services.openoffice.org/fr/ ... =1&t=10246
AOo 4.1.15 et LibO 7.6.6.3 (x64) - Windows 10 Famille 22H2 (19045.3693) 64 bits
-
- ManitOOu
- Messages : 3160
- Inscription : 06 juil. 2008 17:08
- Localisation : dans le Périgord
Re: erreur de calcul?
Bonsoir,
Pour moi aussi 4-3.7=0.30000000000000000
Mais ça me fait penser a ceci:http://christianwtd.free.fr/index.php?r ... ulImprecis
Pour moi aussi 4-3.7=0.30000000000000000
Mais ça me fait penser a ceci:http://christianwtd.free.fr/index.php?r ... ulImprecis
-
- PassiOOnné
- Messages : 564
- Inscription : 21 avr. 2007 17:27
- Localisation : Lausanne, Suisse
Re: erreur de calcul?
Je pense qu'il s'agit de 4 - 3,97 = 0,0300000000000020000
Cela est dû à l'arrondi en base 2, qui est utilisée par tous les ordinateurs. Pour représenter un nombre entier, pas de problème, mais certains nombres décimaux qui comportent un nombre fini de décimales en base 10 (comme 3,7) ne peuvent pas s'écrire en base 2 avec un nombre fini de 0 ou de 1 aprés la virgule. De la même façon qu'en base 3, un tiers s'écrit simplement 0,1, il n'est pas possible de représenter ce nombre en base 10 de façon exacte (0,33333...). Suis-je clair ?
Donc dans ton cas, il y a un arrondi et une fraction de nombre apparaît, en général en 15ème chiffre significatif.
Cela est dû à l'arrondi en base 2, qui est utilisée par tous les ordinateurs. Pour représenter un nombre entier, pas de problème, mais certains nombres décimaux qui comportent un nombre fini de décimales en base 10 (comme 3,7) ne peuvent pas s'écrire en base 2 avec un nombre fini de 0 ou de 1 aprés la virgule. De la même façon qu'en base 3, un tiers s'écrit simplement 0,1, il n'est pas possible de représenter ce nombre en base 10 de façon exacte (0,33333...). Suis-je clair ?
Donc dans ton cas, il y a un arrondi et une fraction de nombre apparaît, en général en 15ème chiffre significatif.
LibreOffice 4.2.3.3. sous Ubuntu 14.04
-
- ManitOOu
- Messages : 3160
- Inscription : 06 juil. 2008 17:08
- Localisation : dans le Périgord
Re: erreur de calcul?
Même si je n'ai pas tout compris, Squenson a raison.
Dans ce cas precis tu peut faire ce que préconnise Christian dans le lien que je t'ai donné ; cependant cela risque de fausser d'autres calculs.
Par exemple: 4/3=1.33 si je remultiplie ce résultat par 3 j'obtiens 3.99
Dans ce cas precis tu peut faire ce que préconnise Christian dans le lien que je t'ai donné ; cependant cela risque de fausser d'autres calculs.
Par exemple: 4/3=1.33 si je remultiplie ce résultat par 3 j'obtiens 3.99
-
- GourOOu
- Messages : 9641
- Inscription : 18 sept. 2006 09:40
- Localisation : France
Re: erreur de calcul?
Bonsoir,
Tout comme Gérard et Squenson, je ne reproduit pas, et ce sur une soixantaine de décimale :
(cliquer pour zoomer)
Si ton fichier n'est pas confidentiel et est dépersonnalisé, pourrais-tu nous le joindre ?
A +
Tout comme Gérard et Squenson, je ne reproduit pas, et ce sur une soixantaine de décimale :
(cliquer pour zoomer)
Si ton fichier n'est pas confidentiel et est dépersonnalisé, pourrais-tu nous le joindre ?
A +
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- Grand Maître de l'OOffice
- Messages : 11276
- Inscription : 02 mai 2006 08:42
Re: erreur de calcul?
Bonjour
Il serait intéressant de connaître le paramétrage de Outils > Options > Calc > Calcul > Exactitude comme affiché
Aide d'OOo (F1) sur Précision comme affiché :
Il serait intéressant de connaître le paramétrage de Outils > Options > Calc > Calcul > Exactitude comme affiché
Aide d'OOo (F1) sur Précision comme affiché :
Spécifie si les calculs doivent être effectués en utilisant les valeurs arrondies affichées dans le classeur
...
Si l'option Exactitude comme affiché n'est pas sélectionnée, les nombres affichés sont arrondis, mais ils sont calculés avec les valeurs non arrondies.
-
- RespOOnsable forum
- Messages : 12232
- Inscription : 08 nov. 2005 16:23
- Localisation : Caen, France
Re: erreur de calcul?
Merci d'attendre le retour de l'auteur avant de continuer à poster.
Un classeur contenant l'erreur de calcul ainsi qu'une copie écran montrant cette dernière me semble indispensable pour éviter les spéculations.
Comment faire : http://user.services.openoffice.org/fr/ ... hp?t=10246
Dans l'attente.
Un classeur contenant l'erreur de calcul ainsi qu'une copie écran montrant cette dernière me semble indispensable pour éviter les spéculations.
Comment faire : http://user.services.openoffice.org/fr/ ... hp?t=10246
Dans l'attente.
-
- NOOuvel adepte
- Messages : 18
- Inscription : 27 oct. 2007 18:45
- Localisation : Haute Saône
Re: erreur de calcul?
Bonjour
Tout d abord merci beaucoup pour toutes ces réponses.
je vois que ce forum est toujours aussi réactif ce qui est une grande force pour Ooo...
je n'arrive plus à reproduire ce que j'avais hier sur la simple opération 3-4.7, par contre sur une partie du calcul de mon applicatif cela le fait encore.
Ci joint mon fichier avec les formules et un fichier texte avec copie d' écran de la feuille de calcul comme je l 'ai
et copie aussi de mon paramétrage.
Squenson; c'est un peu trop hard pour moi, mes cours de maths remonte a pas mal d'année............
Merci encore
a+
Tout d abord merci beaucoup pour toutes ces réponses.
je vois que ce forum est toujours aussi réactif ce qui est une grande force pour Ooo...
je n'arrive plus à reproduire ce que j'avais hier sur la simple opération 3-4.7, par contre sur une partie du calcul de mon applicatif cela le fait encore.
Ci joint mon fichier avec les formules et un fichier texte avec copie d' écran de la feuille de calcul comme je l 'ai
et copie aussi de mon paramétrage.
Squenson; c'est un peu trop hard pour moi, mes cours de maths remonte a pas mal d'année............
Merci encore
a+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OOo 3
Windows XP PRO
Windows XP PRO
-
- ManitOOu
- Messages : 3160
- Inscription : 06 juil. 2008 17:08
- Localisation : dans le Périgord
Re: erreur de calcul?
En dehors de la proposition de Pierre-Yves qui était aussi celle de Christian dans le lien que je t'ai donné plus haut,
tu peut remplacer B17-B18 par ARRONDI(B17-B18;10) avec un nombre suffisant de décimales (ici 10).
Ce n'est qu'un pis-aller mais....
A+
tu peut remplacer B17-B18 par ARRONDI(B17-B18;10) avec un nombre suffisant de décimales (ici 10).
Ce n'est qu'un pis-aller mais....
A+
-
- GourOOu
- Messages : 9641
- Inscription : 18 sept. 2006 09:40
- Localisation : France
Re: erreur de calcul?
L'explication de squenson me parait la plus probable ;
La formule
testée sous OOo 3.0 et sous Excel2000 renvoie la même erreur en 16ième décimale.
A +
EDIT : On peut même pousser plus loin, que ce soit sur OOo3.0 ou Excel2000 :
La formule
Code : Tout sélectionner
=3,96-3,99
A +
EDIT : On peut même pousser plus loin, que ce soit sur OOo3.0 ou Excel2000 :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- Membre OOrganisé
- Messages : 54
- Inscription : 22 oct. 2008 19:40
- Localisation : haute loire
Re: erreur de calcul?
Bonjour
Après avoir parcouru le forum, j'ai trouvé un début d'explication à cette adresse :http://support.microsoft.com/kb/78113/fr (site MSO)
L'erreur est commise par la manière de convertir un nombre décimal en binaire selon la norme IEEE 754 et ceci quelque soit le logiciel utilisé, la conversion est interne au PC.
Par contre, je ne saisis pas comment JEFF, Gerard et Squenson parviennent à cette précision, j'ai reproduit le même soucis avec OOo 3 et Excel 2003.
Je reviens après quelques manipulations et le constat est le suivant:
- sur ma configuration, je suis limité à 20 décimales dans OOo, dans Excel je suis monté jusqu'à 113( et jusqu'où ?) avec l'icône rajout de décimales, mais le formatage de cellules ne permet pas de dépasser pas 30
- dans OOo3, 20 décimales maximum par le formatage des nombres ou par l'icône ajouter une décimale
En fonction des nombres, la précision change (position et nombre de chiffres significatifs), voir capture écran
Cordialement
Après avoir parcouru le forum, j'ai trouvé un début d'explication à cette adresse :http://support.microsoft.com/kb/78113/fr (site MSO)
L'erreur est commise par la manière de convertir un nombre décimal en binaire selon la norme IEEE 754 et ceci quelque soit le logiciel utilisé, la conversion est interne au PC.
Par contre, je ne saisis pas comment JEFF, Gerard et Squenson parviennent à cette précision, j'ai reproduit le même soucis avec OOo 3 et Excel 2003.
Je reviens après quelques manipulations et le constat est le suivant:
- sur ma configuration, je suis limité à 20 décimales dans OOo, dans Excel je suis monté jusqu'à 113( et jusqu'où ?) avec l'icône rajout de décimales, mais le formatage de cellules ne permet pas de dépasser pas 30
- dans OOo3, 20 décimales maximum par le formatage des nombres ou par l'icône ajouter une décimale
En fonction des nombres, la précision change (position et nombre de chiffres significatifs), voir capture écran
Cordialement
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 6.1.4.1 sur Windows 10 (x64)
-
- ManitOOu
- Messages : 2562
- Inscription : 26 nov. 2005 13:42
Re: erreur de calcul?
Bonjour,
Si tu affiches plus de 16 décimales, elles ne sont pas significatives. Et les calculs dégradent la précision des résultats.
Voir aussi la section Précautions d'emploi sur cette autre page en français.
______
Bernard
Excel, Calc, et la plupart des logiciels, utilisent des nombres en double précision au format IEEE 754, implémentés sous la forme de 64 bits, voir cet article en anglais de Wikipedia. La précision, ramenée en affichage décimal, est de 15 à 16 chiffres.phil43 a écrit :Je reviens après quelques manipulations et le constat est le suivant:
- sur ma configuration, je suis limité à 20 décimales dans OOo, dans Excel je suis monté jusqu'à 113( et jusqu'où ?) avec l'icône rajout de décimales, mais le formatage de cellules ne permet pas de dépasser pas 30
- dans OOo3, 20 décimales maximum par le formatage des nombres ou par l'icône ajouter une décimale
Si tu affiches plus de 16 décimales, elles ne sont pas significatives. Et les calculs dégradent la précision des résultats.
Voir aussi la section Précautions d'emploi sur cette autre page en français.
______
Bernard