Forum: PC-Programmierung C# - Problem mit Typenumwandlung


von User0815 (Gast)


Lesenswert?

Guten Morgen versuche die ganze Zeit einen String in eine Zahl (int) 
umzuwandeln.Leider gelingt mir dies nicht.
1
string strCol1;
2
string strCol4;
3
int numValue;
4
5
strCol4 = row.Cells[3].Value.ToString();
6
numValue = Convert.ToInt32(strCol1);

In der String Variable strCol1 steht zum Beispiel der Hex-Wert: 0x70 
drin.

Wie kann solch ein String Wert nun in eine Integerzahl konvertiert 
werden ?

von Stephan (Gast)


Lesenswert?


von XXX (Gast)


Lesenswert?

Hallo

ASSCI sagt 0x70 ist ein kleines 'p'. In welche Zahl willst du
dieses kleine 'p' denn umwandeln?

Gruß
Joachim

von User0815 (Gast)


Lesenswert?

Danke für eure Unterstützung. Ich möchte. dass die Hexzahl 0x70 in eine 
Dezimalzahl 112 umgewandelt wird.

von Sven H. (dsb_sven)


Lesenswert?

Die Methode int.Parse() hat eine Überladung, die NumberStyles annimmt. 
Dort kannst du "AlloeHexSpecifier" angeben. Dann wird der String als 
Hexwert interpretiert. Allerdings musst du sicherstellen, dass das "0x" 
NICHT davor steht. Das geht z.B. mit string.Substring(int) wenn du "2" 
als Startindex angibst.

von Udo S. (urschmitt)


Lesenswert?

Wenn du eine Textdarstellung einer Zahl ("123" in die Zahl wandeln 
willst musst du int.Parse oder die Wrapperfunktion 
Convert.ToInt32(strCol1) benutzen.
Willst du allerdings nur den integer Wert mit dem in einem String ein 
Zeichen repräsentiert wird, dann müsstest du das Zeichen einfach einem 
String zuweisen können.

char c = 'p';
int x;

x = c; sollte gehen.

von Udo S. (urschmitt)


Lesenswert?

Nachtrag:

User0815 schrieb:
> Ich möchte. dass die Hexzahl 0x70 in eine
> Dezimalzahl 112 umgewandelt wird.

Steht in dem String explizit: "0x70" oder siehst du im Debugger den Wert 
0x70? für das erste Zeichen in dem String?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.