begin process at 2012 05 28 22:52:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Conversion chaîne en nombre


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

Conversion chaîne en nombre

jeudi 26 février 2009 à 13:01:48 | Conversion chaîne en nombre

baham

Bonjour à tous!
 
Je viens vous voir car je rencontre un problème ; je souhaite convertir une chaîne de caractère en un nombre à virgule (float, double, etc). voilà ce que je fais :
 
char * pEnd; char c[] = "5.78";
float flt = strtod(c, &pEnd);
double db = strtod(c, &pEnd);
 
Mon problème, c'est que je me retrouve avec dans mon float : 5.7800002 et dans mon double : 5.7800000000000002
Pourquoi n'ai je pas les valeurs exactes, et d'où vient ce "2"...?
 
J'ai essayé avec un char* plutôt qu'avec un char[], et la fonction atoi plutôt que strtod, et toujours le même problème...
 
Aidez moi s'il vous plait!  :sweat:  
Merci!
jeudi 26 février 2009 à 13:29:40 | Re : Conversion chaîne en nombre

Pistol_Pete

Réponse acceptée !
Salut
Tu n'auras jamais une précision absolue. Avec des float ou des doubles, il y a toujours des erreurs d'arrondis. Cette erreur vient de la manière dont les flottants sont stockés.
A+

____________________________________________________________________________
Mon site internet :
  
[ Lien ]



Cette discussion est classée dans : problème, nombre, char, chaîne, float


Répondre à ce message

Sujets en rapport avec ce message

Probleme avec la librairie <conio.h> et avec le type "float" en c++ [ par Rigel Io ] Salut, j'aurai besoin de vos conseils éclairé en c++. Je suis débutant et j'apprends encore sur les tutorials possible de trouver sur Internet, je pro problème tout bête [ par Raoul12 ] voilà, je débute dans le c++ et je voudrais faire ça:char hohun[32] ;hohun = "hohun" ;mais ça ne marche pas... pourtant si je fais ça:char hohun[32] = problème [ par Raoul12 ] voilà, je débute dans le c++ et je voudrais faire ça:char hohun[32] ;hohun = "hohun" ;mais ça ne marche pas... pourtant si je fais ça:char hohun[32] = Tableau de char* [ par alex1er ] Salut a tousJ'aimerais faire la déclaration suivante dans mon code : char * swSurface[]; //Tableau de char * doncSeulement, le compilo me jete car le cin.get() ki merde :( [ par MoDDiB ] voila mon petit prog :#include void main(){ char lettre[100000]; int nombre; const char ENTER = '\n'; do { //Entree le nombre de charactere de la cha Tableau et char to int [ par Niníel ] Bonjour!J'ai un tableau: chTabStart[64] dans lequel je rentre un nombre dans le format suivant: d_25 pour un nombre décimale par exemple. Donc dans mo Problème avec char* [ par Wiwi ] Bonjour tt le monde, j'ai une tite pro (bidon) avec ce morceau de programme. Lors de sa compilation il n'y a aucune erreur, par contre lors de son exé Char en Double [ par DeAtHCrAsH ] Je dispose d'une chaine de de caractere representant un nombre.Seuleument se nombre est grand! Un nombre composer de 15 entier (ex: 123456789123456)!C convertir un int en char ??? [ par tintin72 ] Salut,Comment convertir un int en char pour que la valeur numérique du int devienne un nombre écrit ? par ex: pour que : int nombre = 18; donne une fo Extraire des caract d'une chaîne [ par cyberlewis ] Slt à tous :Disons j'ai une chaîne 'A4C'comment extraire chaque caract ??Ainsi faire par ex :char a= ??? --> Achar b= ??? --> 4char c=


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 : 0,328 sec (4)

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