[Résolu] Erreur de calcul sur la 16e décimale

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

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.
ROXANE43
NOOuvel adepte
NOOuvel adepte
Messages : 18
Inscription : 27 oct. 2007 18:45
Localisation : Haute Saône

[Résolu] Erreur de calcul sur la 16e décimale

Message par ROXANE43 »

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
Dernière modification par ROXANE43 le 22 déc. 2008 13:40, modifié 3 fois.
OOo 3
Windows XP PRO
Avatar de l’utilisateur
Michel JANZEF
ManitOOu
ManitOOu
Messages : 3456
Inscription : 12 janv. 2006 10:04

Re: erreur de calcul?

Message par Michel JANZEF »

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
AOo 4.1.15 et LibO 7.6.6.3 (x64) - Windows 10 Famille 22H2 (19045.3693) 64 bits
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
Messages : 3160
Inscription : 06 juil. 2008 17:08
Localisation : dans le Périgord

Re: erreur de calcul?

Message par gerard24 »

Bonsoir,

Pour moi aussi 4-3.7=0.30000000000000000
Mais ça me fait penser a ceci:http://christianwtd.free.fr/index.php?r ... ulImprecis
OOodidacte
LibreOffice 6.4.5 sous Windows 10.
pour télécharger LibreOffice
squenson
PassiOOnné
PassiOOnné
Messages : 564
Inscription : 21 avr. 2007 17:27
Localisation : Lausanne, Suisse

Re: erreur de calcul?

Message par squenson »

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 ? :shock:

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
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
Messages : 3160
Inscription : 06 juil. 2008 17:08
Localisation : dans le Périgord

Re: erreur de calcul?

Message par gerard24 »

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
OOodidacte
LibreOffice 6.4.5 sous Windows 10.
pour télécharger LibreOffice
Jeff
GourOOu
GourOOu
Messages : 9641
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: erreur de calcul?

Message par Jeff »

Bonsoir,

Tout comme Gérard et Squenson, je ne reproduit pas, et ce sur une soixantaine de décimale :
(cliquer pour zoomer)
précision_décimale.png
Si ton fichier n'est pas confidentiel et est dépersonnalisé, pourrais-tu nous le joindre ?

A + :wink:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Re: erreur de calcul?

Message par Pierre-Yves Samyn »

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é :
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.
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12233
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

Re: erreur de calcul?

Message par Bidouille »

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.
ROXANE43
NOOuvel adepte
NOOuvel adepte
Messages : 18
Inscription : 27 oct. 2007 18:45
Localisation : Haute Saône

Re: erreur de calcul?

Message par ROXANE43 »

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+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OOo 3
Windows XP PRO
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
Messages : 3160
Inscription : 06 juil. 2008 17:08
Localisation : dans le Périgord

Re: erreur de calcul?

Message par gerard24 »

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+
OOodidacte
LibreOffice 6.4.5 sous Windows 10.
pour télécharger LibreOffice
Jeff
GourOOu
GourOOu
Messages : 9641
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: erreur de calcul?

Message par Jeff »

L'explication de squenson me parait la plus probable ;

La formule

Code : Tout sélectionner

=3,96-3,99
testée sous OOo 3.0 et sous Excel2000 renvoie la même erreur en 16ième décimale.

A + :wink:

EDIT : On peut même pousser plus loin, que ce soit sur OOo3.0 ou Excel2000 :
Arrondi_soustraction.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
phil43
Membre OOrganisé
Membre OOrganisé
Messages : 54
Inscription : 22 oct. 2008 19:40
Localisation : haute loire

Re: erreur de calcul?

Message par phil43 »

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
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 6.1.4.1 sur Windows 10 (x64)
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Re: erreur de calcul?

Message par bm92 »

Bonjour,
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
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.
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