2011-01-15 7 views
1

Hey! Ich habe textBox mit Text wie "12:30" und diesem Code textBox -> Text -> ToString() -> Split(':')[1] Es gibt "30" als Zeichenfolge zurück. Und ich möchte es in Int konvertieren. Wie? Ich habe Funktion wie Convert :: ToInt32() usw. gegründet, aber es funktioniert nicht für mein C++ (Visual C++ 2010 -> Winfow Form). Hilf mir bitte! (Ich habe vor C++ 2 Tage lernen)Visual C++ 2010 -> Fenster Form. Wie konvertiert man eine Zeichenkette in int?

und ich verwende Managed C++

+0

, warum es nicht funktioniert? Erhalten Sie einen Fehler – RvdK

+0

Aufruf 'ToString()' auf etwas, das bereits eine Zeichenfolge ist redundant. Die 'TextBox.Text' -Eigenschaft gibt eine Zeichenfolge zurück. Sie müssen 'ToString()' nicht verwenden. –

Antwort

2

Wie Sie Managed C++ verwenden, dann können Sie dies tun:

double foo = System::Convert::ToDouble("200"); 
int bar = System::Convert::ToInt32("200"); 

Verwenden Sie, was Sie brauchen!

+0

Wenn ich '#include ' nach meinem 'using namespace System;', bekomme ich eine Menge Fehler ... – MegaFill

+0

@MegaFill : Sie sollten wissen, dass Sie Managed C++ verwenden. Nicht Visual C++. – Nawaz

+0

@Nawaz danke. Ich weiß nicht, wie es heißt. – MegaFill

0

Sie c Standard lib frunction atoi

CString s = "30"; 
int x = atoi(s); // x is now 30 

bearbeiten können: Oh, Sie benutzen C++ verwaltet wird, dann einer der beiden folgenden soll die Arbeit machen

System::Convert::ToInt32(str, 10); 
System::Int32::Parse(str); 

mit einem Beispiel auf dieser Seite finden: http://msdn.microsoft.com/en-us/library/b3h1hf19.aspx

+0

Fehler C2065: CString: nicht deklarierte Kennung – MegaFill

+0

Sorry, wie es in Managed C++ zu tun? ') – MegaFill

+0

Haben die Leute noch nie von 'TryParse' gehört? Er verwendet einen Wert aus einer * Textbox *. Es gibt keinen Grund, eine Ausnahme zu behandeln, wenn der Benutzer etwas eingibt, das keine Nummer ist. –

0

Ich benutze

int intVar = Int32::Parse(stringVar); 
Verwandte Themen