Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Teilstring in Integer umwandeln? Kategorie: Programmierung (von André H. - 17.07.2002 21:07)
Als Antwort auf Re: Teilstring in Integer umwandeln? von KlaRa - 17.07.2002 19:53

Hallo Klaus & Torsten,
man kann die Funktion noch vereinfachen:

function Str2Int(byte s[]) returns int
{byte i;
 int Zahl;
 Zahl=0;
 if s[31]==0 return -1
 for I=s[31]-1 ... 0
 {
  if (s[i]>=0x30 and s[i]<=0x39)
    {
     Zahl=Zahl*10;
     Zahl=Zahl+(s[i]-0x30);
    }
    else
    {
     if s[i]=='-' Zahl=not(Zahl)+1; else return -1;
    }
 return Zahl;
}


MfG André H.


> > Hallo,
> > Ich bin wohl zu doof für die CC2 Programmierung, aber ich hab folgendes Problem.
> > Ich bekomme von einem Gerät über die hwcom einen String, der z.B. folgenderma�en aussieht:
> > "X5 = 32 t"
> > Jetzt würde ich gerne mit dem Wert 32 als Integer weiterrechnen. Was muss ich also anstellen, damit ich aus dem String die 32 als Integer-Wert erhalte?
> >
> > Gruss
> > Torsten
>
> Hallo,
>
> hier eine Function:
>
>
> //------------------------------------------
> // Klaus Rawski, 28.12.2001
> //------------------------------------------
> function Str2Int(string cWert) returns int
> {
>  int i;
>  int iRet;
>  int iLen;
>  int iFaktor;
>  byte bChar;
>
>  iRet = 0;
>  iFaktor = 1;
>  iLen = str.length(cWert) - 1;
>  if iLen >= 0
>  {
>    for i = iLen ... >= 0 step -1
>    {
>      bChar = Getchar(cWert, i);
>      if bChar >= 48 and  bChar <= 57
>      {
>        iRet = iRet + (bChar - 48) * iFaktor;
>        iFaktor = iFaktor * 10;
>      }
>      else
>      {
>        iRet = -1;
>        break;
>      }
>    }
>  }
>  else
>  {
>    iRet = -1;
>  }
>
>  return iRet;
> }
>


Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: