Arondi d'un nombre réel

PhGORMAND Messages postés 54 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 20 juillet 2006 - 4 mars 2002 à 14:34
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 22 août 2004 à 17:50
Comment obtenir en C C++ l'arondi d'un nombre réel dans un entier. L'équivalent PASCAL.

Exemple :
Var
I : Integer;
R : Double;

begin
R := 123.78;

I := Round(R);

end;

4 réponses

NerOcrO Messages postés 33 Date d'inscription mardi 10 octobre 2000 Statut Membre Dernière intervention 27 mai 2004
5 mars 2002 à 18:31
#include

void main (void)
{
float x=3.14;
cout << int (x);
}
0
PhGORMAND Messages postés 54 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 20 juillet 2006
5 mars 2002 à 19:44
Merci. Mais exuses, j'ai un petit doute.
Est que cela renvoi l'arrondi, ou la partie entière du nombre ? Parce que là, tu me montres un transtypage de données en escamotant la partie décimale. Mais je vais travailler à partir de cette base. Salut A+.

Au faut http://philippe.gormand.free.fr/
0
NerOcrO Messages postés 33 Date d'inscription mardi 10 octobre 2000 Statut Membre Dernière intervention 27 mai 2004
5 mars 2002 à 19:58
A oui exact, j'avais mal lu ta question.
Donc pour l'arrondi, j'en sais rien et je pense pas qu'il existe une fonction qui donne l'arrondi.
Il faut surement utiliser des IF.
Tu cherche le dernier chiffre après la virgule et tu vois si c'est en dessous ou au dessus de 5 et tu arrondi.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 août 2004 à 17:50
j'arives surement un peu tard ^^ mais bon...
en fait, tu fais :
//x ton nombre réel y son arondit:
int y, z;
y=x*10;
z=y%10; //en clair : z est la première décimale de x;
y=y/10;
if (z>4){
y++;
}

Voila, un tt petit bout de code C
0
Rejoignez-nous