|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() |
Bonjour
Ca fait un petit moment que je n'avais pas touché a openOffice et je bute sur un problème de très très haut niveau (cm2) Code :
Merci de votre aide, j'ai déjà honte |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 946 ![]() |
Yop !
Parce que ! Parce que c'est un problème de conversion, d'arrondi, toussa toussa, un "double" a une précision de 29 chiffres si l'aide est correcte... Pour contourner le problème, faut faire sauter la décimale : Code :
__________________
Après avoir posté, relisez-vous ! Et en cas d'erreur, de faute d'orthographe ou d'oubli, il existe un bouton « Éditer », à utiliser sans modération On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère. Mes 2 cts, -- jp |
||
|
|
00
|
|
|
#3 | |||
|
Invité de passage
![]() |
Citation:
J'ai l'impression d’être encore à :Code :
|
|||
|
|
00
|
|
|
#4 |
![]() ![]() Yves Développeur informatique Inscription : janvier 2007 Messages : 5 296 ![]() |
LE problème vient du type de variable utilisé. Les types Double et Float (Single suivant les appellations) sont des nombres dit à virgule flottante respectivement Double et Simple précision.
Ces nombres là ont la particularité de ne pas être des nombres exacts. C'est à dire que l'encodage de la variable en mémoire ne permet pas de représenter la totalité des nombres possibles. Si, pour une valeur donnée, celle-ci n'est pas représentable, elle sera représentée par la 1ere valeur possible la plus proche. Ce qui provoque des arrondis, avec une erreur qui se propage au fil des calculs et des arrondis sur les résultats successifs.
__________________
--- Sevyc64 --- Parce que le partage est notre force, la connaissance sera notre victoire |
|
|
00
|
|
|
#5 | |
|
Invité de passage
![]() |
Citation:
Comment gérer efficacement et proprement ces variables, car même si mes macros ne demandent pas une grande précision, "7E-02" ou "7,8999999999999" n'est pas le résultat espéré. Merci sevyc64 |
|
|
|
00
|
|
|
#6 |
![]() ![]() Yves Développeur informatique Inscription : janvier 2007 Messages : 5 296 ![]() |
Les nombres à virgule flottante posent problème en comptabilité et dans le domaine financier et dans les domaines ou la précision loin après la virgule est très importante. On leur préfèrera dans ce cas des nombres justes, à virgule fixe, représentés souvent par des types (dépend des langages) tel que Decimal, Currency ...
Dans la majorité des cas, les nombres à virgule flottante sont largement suffisant, c'est les plus utilisés. Plus de 80% des calculs d'un processeur sont fait sur eux, la virgule flottante est la structure de base de calcul des processeurs actuels. Donc, sauf à avoir besoin d'une très grande précision, voire de calculs absolument juste, ils sont parfaitement utilisables en en connaissant les limites, comme notamment faire arrondis lorsqu'il n'est pas nécessaire de conserver la précision du nombre. Certes, 7,8999999999999 n'est pas le résultat attendu, mais tu n'as probablement pas besoin (pour l'affichage par exemple) d'avoir 13 chiffres après la virgule. Si 2 te suffisent l'arrondi te donnera 7.90, nombre attendu je présume.
__________________
--- Sevyc64 --- Parce que le partage est notre force, la connaissance sera notre victoire |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() |
Merci sevyc64 pour ces détails.
J'ai la mémoire qui me revient ! Ca y est j'ai honte |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com