Arrondir en C - Programmation
Marsh Posté le 09-03-2001 à 10:18:53
Tu veut tronquer ou arrondir? 
 
Si tu veut tronquer a l'entier inferieur: 
 
int flottant_tronque; 
float mon_float; 
flottant_tronque = (int) mon_float; 
 
A l'entier superieur: 
 
flottant_tronque = (int) mon_float + 1; 
 
Sinon pour l'arrondi, il doit bien y avoir une fonction dans un quoi qui fait ca, mais la j'ai un trou...
Marsh Posté le 09-03-2001 à 10:22:07
tas essaye round()... ou trunc()... 
il me semble ds mes souvenirs ke yavait des truc kom ca 
Marsh Posté le 09-03-2001 à 10:33:10
Sinon il y a ceil(), floor(). 
Cette dernière a le mérite de se comporter comme la fonction mathématique E(x) <partie entière>.
Marsh Posté le 09-03-2001 à 11:21:44
Dans la série des tips pas cher et efficaces, pour arrondir il y a aussi 
(int)(valeuraarrondir+0.5)
Marsh Posté le 09-03-2001 à 11:55:40
ouais... mais les forcing de cast.. c craignos !!! 
Il fo faire tres attention 
Marsh Posté le 09-03-2001 à 12:06:34
| wouatouwouatou a écrit a écrit  : ouais... mais les forcing de cast.. c craignos !!! Il fo faire tres attention   | 
 
Tout à fait d'accord! C'était juste pour ajouter une bidouille à la liste précédente! Il existe très certainement une fonction propre qui fait des arrondis! Il vaut mieux utiliser ces fonctions, ne serait-ce qu'au niveau de la lisibilité du code!
Marsh Posté le 09-03-2001 à 14:28:21
wouatouwouatou> c'est quoi le risque? 
Marsh Posté le 09-03-2001 à 09:52:38
Juste une chtite question :
Comment sont arrondies les nombres en C ?
Le premier nombre entier en dessus ? en dessous ?
Merci