Probleme String -> double et long

lebalrog Messages postés 18 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 31 juillet 2003 - 30 juil. 2003 à 15:17
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 - 31 juil. 2003 à 16:10
Salut tout le monde!
J'ai un prob urgent a resoudre (tres urgent meme)!

je fais :

ficin >> ligne;
long r=atol(ligne);
double a=atof(ligne);

avec ligne="0,1232394" pour la premiere ligne lue

et ca me donne dans les deux cas: a=0 et r=0

SVP Sauvez moi je comprends plus la

Le_BalRog

9 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 juil. 2003 à 15:26
ligne est bien char[] ?
Tu as affichie ligne pour etre sur que bien lu ?
BruNews, ciao...
0
cs_helena123 Messages postés 22 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 25 août 2003
30 juil. 2003 à 15:41
je debute en info et au risque de passer pour une idiote ... mais double et long sont assimiles a
des integer alors qu esperais tu avoir comme solution si ce n
est l entier le plus proche de ce que tu as introduit comme valeur -> zero
0
Haldwin Messages postés 77 Date d'inscription lundi 15 avril 2002 Statut Membre Dernière intervention 16 juin 2004
30 juil. 2003 à 16:34
helena123 dit vrai pour ce qui est du long... Il s'agit d'un entier signé sur 64 bits donc si tu mets dans un long 0.112321 le compilo fait un cast automatik et donc il te rend 0... Pour ce qui est du double, il s'agit d'un flottant codé sur 64bits (exposant + mantisse).... tu devrais avoir le bon resultat mais sache qu'en US, une virgule s'ecris avec un point et non une virgule.... Essaies comme ça et dis moi si ça va mieux!!!
++
<<-- h@ldwin -->>
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
30 juil. 2003 à 17:36
Je crois aussi que le probleme est la virgule tout simplement !
Et je ne comprend pas ou il y un cast ??

:-p :-p :-p :shy) :-p :-p :-p :shy) :-p :-p :shy)
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:-p :-p :shy) :shy) :-p :-p :-p :shy) :-p :-p :shy)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Zeroc00l Messages postés 367 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 11 février 2010
30 juil. 2003 à 17:48
le cast c'ets la conversion d'un type en un autre si on fait :

float P =3.141592;
int i;
i=p;
cout i;

'3' s'affiche et non pas les decimales
on peut forcer le cast si par exemple on avait eu presque le meme code :

float P =3.141592;
float i;
i=(int)p; //ici les types étant identiques, il faut 'caster '
//manuellement en mettant le type entre
// parenthese devant la variable a caster
cout i;

JCDjcd t'as compris ? :)

-={[ Zeroc00l ]}=-
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
30 juil. 2003 à 18:12
Ma question n'etait pas la !
Je sais tres ce qu'est un cast !
Mais dans le code de lebalrog,
on dit dans les messages, qu'il y aurait un cast !
Moi je demande qu'a voir !

:-p :-p :-p :shy) :-p :-p :-p :shy) :-p :-p :shy)
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:-p :-p :shy) :shy) :-p :-p :-p :shy) :-p :-p :shy)
0
lebalrog Messages postés 18 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 31 juillet 2003
31 juil. 2003 à 08:41
Merci a tous de votre aide!

La solution c ke la virgule ne prend pas, il faut mettre un point pour ke la conversion en double se fasse correctement.

Encore mille fois merci !

Le_BalRog
0
Haldwin Messages postés 77 Date d'inscription lundi 15 avril 2002 Statut Membre Dernière intervention 16 juin 2004
31 juil. 2003 à 15:25
JCD... Puisque tu ne demande qu'a voir le truc sera simple à t'expliquer... Prend un bouquin sur les compilateur, un sur l'architecture des processeurs puis tu comprendras que l'informatique est bcq plus que le simple bout de code que tu programme... Et c en sachant cela que tu commencera seulement a comprendre la programmation et a t'amuser!!! Wala la reponse a ta question...
nb: vs peuvez remarquer que je suis deja bien gentil a repondre a une telle question!
<<-- H@ldwin -->>
Nb: Encore une petite remarque... Comme nous tous, tu as bcq de chose a apprendre, donc ne sois pas trop hautain dans tes questions. Merci!
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
31 juil. 2003 à 16:10
Tout ca est bien beau !
T'as raison, je fais prendre un bouquin, et je fais lui demander la reponse a ma question, qui n'a recu encore aucune reponse !
Le bouquin, fidele serviteur, me donnera immediatement ma reponse ! hahaha !
Ce n'est pas dans un bouquin que je l'aurais ma reponse !
Pour ce qui est de l'amusement, ne t'inquiet pas, je ne t'es pas attendue pour m'amuser a programmer ! (heureusement, sinon il serait trop tard !)

DONC JE PERSITE DANS MA QUESTION :
OU IL AVAIT UN CAST DANS CE CODE :


ligne="0.1232394";
long r=atol(ligne);
double a=atof(ligne);


Je te met au defi de m'en touver un !

:-p :-p :-p :shy) :-p :-p :-p :shy) :-p :-p :shy)
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:-p :-p :shy) :shy) :-p :-p :-p :shy) :-p :-p :shy)
0
Rejoignez-nous