Fonction TRONQUE

Résolu/Fermé
DC - 22 sept. 2016 à 08:49
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 22 sept. 2016 à 10:19
Bonjour,

En voulant convertir des degrés en minutes, j'ai constaté un fonctionnement curieux de la fonction TRONQUE.
Normalement : 1,15 degrés décimaux = 1°9' (0,15 x 60 = 9)

TRONQUE(0,15*60) me donne bien 9
En revanche, ma formule s'écrit :
TRONQUE ((1,15-1)*60) et me donne 8 !

Avez-vous une idée de ce qui provoque un tel résultat ?

Merci de vos réponses.

A voir également:

2 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
22 sept. 2016 à 09:34
Bonjour,

Il s'agit d'un problème de précision des calculs lié à la représentation des nombres en virgule flottante.
Voir : IEEE 754-2008
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
22 sept. 2016 à 10:19
PS : La fonction Tronque() est une des nombreuses méthodes d'arrondi (arrondi vers zéro sans décimale).

Toutes les méthodes ont des avantages et des inconvénients !!!

Plus de précisions ici : Les fonctions d'arrondi

Cdlt
Patrice
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
22 sept. 2016 à 09:52
Bonjour,

Pour appuyer la réponse de Patrice33740 (que je salue) :

Si tu écris la formule :
=(1,15-1)*60
avec un format nombre et 14 décimales, tu obtiens le résultat 8,99999999999999
Il est donc normal que TRONQUE renvoie 8.

Une solution consiste à utiliser l'arrondi.
=TRONQUE(ARRONDI((1,15-1)*60;2)) renvoie 9.

A+
0