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