Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Char nach Int32: aus 3 wird 51

  Alt 6. Jul 2005, 19:38
Hi,
ich versuche gerade ein wenig mit Strings und Integern herum zu hantieren. Leider funktioniert das nicht ganz so, wie ich das gerne hätte.

Ich habe also einen String in ein Array of Char packen können. Nun will ich aber alle Elemente dieses Arrays als Zahlen haben, also dachte ich mir - schlau wie ich bin -, dass ich mit Convert.ToInt32 eigentlich auf das gewünschte Ergebnis kommen würde. Aber leider dann doch nicht.
Ich habe mit Debuggen bereits herausgefunden, dass in dem entsprechenden Array-Element '3' drin steht. Nach der Umwandlung in Int32 ist die int-Variable mit dem Wert 51 gefüllt. Sozusagen das 17fache von 3. Aber warum? Ich kann eigentlich keinen Fehler entdecken.

Meine Methode sieht so aus:
Code:
   char cCurThing = ISBN.ToCharArray()[idx-1]; // idx ist eine beliebige Integervariable. cCurThing hat lt. Debugging auch den richtigen Wert (z.B. '3')

   int iCurThing = Convert.ToInt32(cCurThing); // hier hapert's: denn cCurThing hat immer noch den richtigen Wert, aber iCurThing bekommt den Wert 51, obwohl cCurThing eigentlich '3' ist

   iCheckSum = idx * iCurThing;
Hat jemand eine gute Idee?

Chris
  Mit Zitat antworten Zitat