2013-05-28 7 views
1

Je veux convertir la valeur de chaîne en int valeur, donc j'ai essayé ces choses:chaîne Convertir en valeur int?

// 1. 
string a = "4163"; 
int b = int.Parse(a); 

// 2. 
int intValue; 
int.TryParse(a, out intValue); 

// 3. 
int b = Convert.ToInt32(a); 

mais toujours ma sortie ressemble à ceci:

Wrong output value in debugger

Il écrit toujours 0x00001043, mais je besoin 4163 en sortie. Quel est le problème avec mon code?

+0

Afficher le code utilisé pour la sortie 'b'; vous utilisez peut-être '{0: X}'? – mshsayem

+0

Comment imprimez-vous la sortie? –

+4

Tous ces travaux. Comment imprimez-vous votre sortie? Btw, 0x00001043 est 4163 en hexadécimal. – Rik

Répondre

7

Votre code devrait fonctionner comme prévu. Peut-être devez-vous modifier les paramètres d'affichage. Donc, faire quelque chose comme ça

clic droit de la fenêtre Watch et décochez l'affichage des Hexadécimal valeurs.

+0

+1, regardez [ici] (http://stackoverflow.com/questions/3354453/ visual-studio-debugger-affichage-integer-values-in-hex) –

+0

oh ... merci – user1348351

+0

Vous êtes copie puis passé dans cette réponse: http: // stackoverflow.com/questions/3354453/visual-studio-debugger-affichage-nombre-entiers-dans-hex –

0

Si vous êtes sûr que ça va analyser correctement, utilisez

int.Parse(string) 

Si vous n'êtes pas, utilisez

int i; 
bool success = int.TryParse(string, out i); 

Attention! Dans ce cas, je vais égaler 0, pas 10 après le TryParse.

int i = 10; 
bool failure = int.TryParse("asdf", out i); 

Ceci est dû au fait que TryParse utilise un paramètre out, pas un paramètre ref.

0

vous pouvez également utiliser

int i = Convert.ToInt16("1234"); 

et je pense que la façon dont vous convertissez est correct, mais vous avoir tout problème u affichiez sur la console.

essayez d'afficher cet entier converti en html ou ailleurs

0

Hey Votre tout ce chemin de conversion est donner la bonne réponse. Vous ne voyez pas une réponse dans une rapide montre. Vous pouvez vérifier la valeur finale sur le b.

pour l'échantillon

// 1. 
string a = "4163"; 
int b = Convert.ToInt32(a); 

le retour est b réponse correcte, vous voulez vérifier ajouter la ligne ci-dessous

int c =b;//now it's show result for 4163