begin process at 2012 05 28 09:13:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

arondir un float en int


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

arondir un float en int

vendredi 23 mai 2003 à 10:46:06 | arondir un float en int

guillaume21

je voudrai convertir un float en int (le cast tronque mais n'arrondi pas) sans utiliser la "bidouille" :

inr i;
float f;
char car[6];

sprintf(car,"%6.0f",f);
i=atoi(carI);

quelq'un pourrait m'aider ?

merci
vendredi 23 mai 2003 à 10:49:25 | Re : arondir un float en int

BruNews

Administrateur CodeS-SourceS
int res = (int) myfloat;
l'arrondit se fait.
depend quel arrondi tu veux.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> je voudrai convertir un float en int (le cast tronque mais n'arrondi pas) sans utiliser la "bidouille" :
>
> inr i;
> float f;
> char car[6];
>
> sprintf(car,"%6.0f",f);
> i=atoi(carI);
>
> quelq'un pourrait m'aider ?
>
> merci
vendredi 23 mai 2003 à 11:01:29 | Re : arondir un float en int

payen

tu as egalement dans math.h (je crois ...) les fonctions ceil() et floor(). je te laisse deviner ce qu'elles font ...



-------------------------------
Réponse au message :
-------------------------------

> int res = (int) myfloat;
> l'arrondit se fait.
> depend quel arrondi tu veux.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > je voudrai convertir un float en int (le cast tronque mais n'arrondi pas) sans utiliser la "bidouille" :
> >
> > inr i;
> > float f;
> > char car[6];
> >
> > sprintf(car,"%6.0f",f);
> > i=atoi(carI);
> >
> > quelq'un pourrait m'aider ?
> >
> > merci
>
vendredi 23 mai 2003 à 11:23:38 | Re : arondir un float en int

guillaume21

j'ai bien compris ce ke font ces fonctions mais je voudrais que l'arrondi se fasse tout seul par exemple 8.5 => 8 et 8.51=> 9.

en fait une fonction qui arrondi à l'entier le plus proche... si je pouvais recuperer la partie entiere du float ça m'aiderait lol

-------------------------------
Réponse au message :
-------------------------------

> tu as egalement dans math.h (je crois ...) les fonctions ceil() et floor(). je te laisse deviner ce qu'elles font ...
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > int res = (int) myfloat;
> > l'arrondit se fait.
> > depend quel arrondi tu veux.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > je voudrai convertir un float en int (le cast tronque mais n'arrondi pas) sans utiliser la "bidouille" :
> > >
> > > inr i;
> > > float f;
> > > char car[6];
> > >
> > > sprintf(car,"%6.0f",f);
> > > i=atoi(carI);
> > >
> > > quelq'un pourrait m'aider ?
> > >
> > > merci
> >
>
vendredi 23 mai 2003 à 11:29:11 | Re : arondir un float en int

payen

pour recuperer la partie entiere, tu utilises la methode de Brunews (cast) ou la fonction ceil() ...



-------------------------------
Réponse au message :
-------------------------------

> j'ai bien compris ce ke font ces fonctions mais je voudrais que l'arrondi se fasse tout seul par exemple 8.5 => 8 et 8.51=> 9.
>
> en fait une fonction qui arrondi à l'entier le plus proche... si je pouvais recuperer la partie entiere du float ça m'aiderait lol
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > tu as egalement dans math.h (je crois ...) les fonctions ceil() et floor(). je te laisse deviner ce qu'elles font ...
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > int res = (int) myfloat;
> > > l'arrondit se fait.
> > > depend quel arrondi tu veux.
> > > BruNews, ciao...
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > je voudrai convertir un float en int (le cast tronque mais n'arrondi pas) sans utiliser la "bidouille" :
> > > >
> > > > inr i;
> > > > float f;
> > > > char car[6];
> > > >
> > > > sprintf(car,"%6.0f",f);
> > > > i=atoi(carI);
> > > >
> > > > quelq'un pourrait m'aider ?
> > > >
> > > > merci
> > >
> >
>
vendredi 23 mai 2003 à 11:29:27 | Re : arondir un float en int

payen

floor pas ceil()!!!



-------------------------------
Réponse au message :
-------------------------------

> pour recuperer la partie entiere, tu utilises la methode de Brunews (cast) ou la fonction ceil() ...
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > j'ai bien compris ce ke font ces fonctions mais je voudrais que l'arrondi se fasse tout seul par exemple 8.5 => 8 et 8.51=> 9.
> >
> > en fait une fonction qui arrondi à l'entier le plus proche... si je pouvais recuperer la partie entiere du float ça m'aiderait lol
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > tu as egalement dans math.h (je crois ...) les fonctions ceil() et floor(). je te laisse deviner ce qu'elles font ...
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > int res = (int) myfloat;
> > > > l'arrondit se fait.
> > > > depend quel arrondi tu veux.
> > > > BruNews, ciao...
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > je voudrai convertir un float en int (le cast tronque mais n'arrondi pas) sans utiliser la "bidouille" :
> > > > >
> > > > > inr i;
> > > > > float f;
> > > > > char car[6];
> > > > >
> > > > > sprintf(car,"%6.0f",f);
> > > > > i=atoi(carI);
> > > > >
> > > > > quelq'un pourrait m'aider ?
> > > > >
> > > > > merci
> > > >
> > >
> >
>
mercredi 9 juillet 2003 à 10:00:01 | Re : arondir un float en int

ThomasC



personnellement, j'ajoute 0.5;

int arrondie(float f)
{
int i;

if (f>0) i=(int)(f+0.5);
if (f<0) i=(int)(f-0.5);
return i;
}

si tu sais que tu as que des chiffres positifs, tu peus simplifier
(sur un PC un addition en float est fait en 1 instructions assembleur)


Cette discussion est classée dans : int, float, arondir


Répondre à ce message

Sujets en rapport avec ce message

équation et tableaux [ par cabarrus ] je ne trouve pas l'erreur dans mon programme?#include#includeint deltanul(int);float deltainf(float);float deltasup(float);void main(void){float a,b,c dépassement capacité d'un float et int [ par golum ] result=scanf("%f",&coef); if (result !=0 && coef !=0)Voila si j'entre un nombre délirant style 9999999999999999999999999999999999999999999999999999999 Probl avec float et int [ par David2907 ] Après un calcul, comment faire pour afficher un resultat sans virgule ou un resultat avec virugule???Merci pb incrementation variable. [ par conan76 ] Voila j'ai passé l'après midi a chercher d'ou vient mon problème sans succès.je tente même de faire des affichages console avant et après incrémentati comment tester un type de donné en C++ [ par Armandopoulos ] Salut !!en VC++Je voudrai bien savoir comment tester un type de donné (par ex. int , float , long , char) entré par l utilisateur au clavier.J ai pens pourquoi ca marche pas :'( [ par xboxut ] salut j ai un probleme avec une fonction pour initialiser des particules,pouvez vous me dire pourquoi il ne marche pas et comment le faire marcher#inc Problème d'entrée (cin >>) dans un tableau de float [ par Oeil_de_taupe ] Hello tout le monde,désolé de vous importuné. Mais j'ai fait une toute petite source pour apprendre à allouer de la mémoire pour une variable puis de C++ -> Java [ par christouilhe ] Bonjour à vous tous.J'ai une question à vous poser ...Il se trouve que je dois retranscrire un programme C++ en Java, mais il y a une fonction que je connection BDD en C [ par naru ] Bjr J'ai un code dans lequel je dois modifier le chemin de la bdd, et rentrer les paramètres de l'utilisteur (login/pass). Seulement, je ne vois pas le mode graphique sur dos [ par alen ] alb#include#include#include#include#includeint xgclot,xdclot,yh


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,558 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales