Page 1 sur 1

[R] Problème d'arrondi

Posté : mar. 04 juin 2013 10:53
par eric
Bonjour,

Un calcul me donne un nombre avec plein de chiffres après la virgule.
Je souhaite arrondir ce nombre à l'entier le plus proche.
J'utilise donc la fonction ROUND mais je me rends compte que mon résultat n'est pas toujours arrondi à l'entier le plus proche.

Si je fais :

round (7.499999999999999,0) j'obtiens bien 7

Par contre (1 décimale de plus)

round (7.4999999999999999,0) j'obtiens 8

N'y aurait-il pas un problème dans l'arrondi ?

Merci

Re: [..] Problème d'arrondi

Posté : mar. 04 juin 2013 13:33
par jchd
15 décimales sont garanties mais pas 16 : on entre alors dans un terrain miné.
Voir Floor ou Ceiling.

Re: [..] Problème d'arrondi

Posté : jeu. 06 juin 2013 10:01
par eric
Ok, je prend note de cette limitation et je vais faire avec.

Merci jchd

Eric

Re: [R] Problème d'arrondi

Posté : jeu. 06 juin 2013 10:44
par jchd
C'est inhérent à la représentation binaire flottante, donc indépendant du langage (sauf ceux qui intègrent un support pour des nombres entiers de taille arbitraire ou décimaux de précision arbitraire).

La plus grande prudence est de mise dès qu'on manipule des flottants. Les effets pervers guettent !