Den Wed, 5 Dec 2001 21:59:29 +0100 skrev Lars kj:
>>
>> Hvis det var et tal i en streng, så prøv at kigge på atoi(), atof() (den
>> nemme løsning) eller strtol() og strtod() (den korrekte løsning).
>>
>> Drejer det sig om en række tal i samme streng, som herover, skal du
>> enten bruge sscanf(), eller overveje hvad man kan bruge **endptr til
>> i strdol() og strtod().
>>
>OK jeg er ikke skarp i C eller C++, men det drejer sig om en int
>tal_i_str[25]="23.4" som jeg gerne vil have over i en float tal_i_f=23.4
>
>Jeg har så, for at gøre det nemmere lavet de 23.4 om til 234 og så har jeg
>planer om at dividere med 10 når en gang det er blevet til en int og derved
>få min float på 23.4
Det gør det bare ekstra besværligt.
float f;
f=atof(tal_i_str);
Den holder selv styr på "kommaet".
Med strtod() vil man gøre noget a'la:
chat * next;
float f;
f=strtod(tal_i_str, &next);
if(next == tal_i_str) fprintf(stderr,"Ikke et tal\n");
Mvh
Kent
--
http://www.celebrityshine.com/~kfr/