Hallo Community,
bin gerade dabei mich etwas in Visual Basic .NET einzuarbeiten und auch gleich auf ein etwas komisches Verhalten gestoßen. Folgendes Problem:
Ich möchte einen String konvertieren. Der String beinhaltet eine Kommazahl (zB. 1.2 oder 1,2). Nun benutze ich eine der beiden Funktionen System.Convert.ToInt32( Str ) oder CInt( Str ). CInt() klappt bestens, ToInt32 geht krachen. Laut MSDN wird aber empfohlen die ToInt32() Methode zu nehmen - da diese in allen .NET Sprachen funzt. In der Doku steht auch expliziet dass es möglich ist, dass Daten verloren gehen (is klar, aus 1,2 wird 1 usw). Es wird nichts von irgendwelchen sonderfällen erwähnt.
Wie stelle ich es nun an, einen String (mit x beliebigen Inhalt) via Convert.ToInt32() in einen Integer zu konvertieren? Geht das überhaupt?
Seite 1 von 1
System.convert.toint32() Vs. Cint() Probleme in Visual Basic .NET
Anzeige
#2
geschrieben 02. Mai 2003 - 18:22
Hi Mesios,
ich weiss nicht ob man das in .NET auch machen kann, aber ich kenn aus einigen Sprachen den einfachen Trick, der Variable (dem String) einfach ein +0 ranzuhängen.
So mach ich aus dem String 777 den Int 777.
Aber eben keine Ahnung ob das unter .Net klappt. Denke mal eher nicht.
Tomatojoe
ich weiss nicht ob man das in .NET auch machen kann, aber ich kenn aus einigen Sprachen den einfachen Trick, der Variable (dem String) einfach ein +0 ranzuhängen.
var i = "777"; i = i + 0;
So mach ich aus dem String 777 den Int 777.
Aber eben keine Ahnung ob das unter .Net klappt. Denke mal eher nicht.
Tomatojoe
#3
geschrieben 26. Juli 2003 - 20:34
Kann nich funzen, weil Int32 ein Ganzzahltyp is und somit keine Kommanzahlen aufnehmen kann
Du brauchst einen USB-Stick? Weißt aber nicht welchen? Dann schaue hier:
USB Stick Test 2014 - Stick-Tester.de
Oder eine externe Festplatte?
Externe Festplatte Test - der große Test zu externen Festplatten
USB Stick Test 2014 - Stick-Tester.de
Oder eine externe Festplatte?
Externe Festplatte Test - der große Test zu externen Festplatten
Thema verteilen:
Seite 1 von 1