Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Char in Float bzw. Int Kategorie: Programmierung C (von PeterS - 19.03.2008 8:55)
Als Antwort auf Re: Char in Float bzw. Int von Michael - 19.03.2008 8:42

Sorry,

ich hab Dich falsch verstanden. Eine char Variable ist eine vorzeichenbehaftete 8 Bit Variable. Du wolltest
einen String in eine integer Zahl umwandeln.

Hier eine kürzere Variante (setzt aber voraus, das der String wirklich eine Zahl enthält):

int val, i;
char str[20];

str="501";

i=0;
val=0;
while(str[i]) val= val*10 + str[i++] - '0';

Ergebnis ist jetzt in val;


Gruss Peter

> Hallo,
> irgendwie funktioniert das nicht bei, eine Char Variable einer Int Variable zu zuweisen. Die Int Variable erhält
> komischerweise immer den Wert 3722. Nun habe ich eine Funktion geschrieben, die eine Char- in eine Int-Variable
> umwandelt. Vielleicht hilft das sonst noch jemandem.
>
> int char2int(char string[])
> {
>     int len, i, zahl;
>
>     len = Str_Len(string);
>     i = 0;
>     zahl = 0;
>
>     while(len>0)
>     {
>         if(string[i]>='0' && string[i]<='9')
>         {
>             len--;
>             zahl = zahl + (string[i]-'0')*pow(10.0,len);
>             i++;
>         }
>
>         else
>         {
>             break;
>         }
>     }
>
>     return zahl;
> }
>
> GruĂ? Michael
>
>


    Antwort schreiben


Antworten:

Re: Char in Float bzw. Int (von Michael - 19.03.2008 13:15)