Probleme mit IntToStr() bei unsigned int
-
Hallo,
wie kann ich eine vorzeichenlose Zahl z.B. 3333333333 (4-Byte) in einen AnsiString konvertieren und umgekehrt.
Wenn ich z.B. folgende Umformung vornehme, erhalte ich als Anzeige -961633963. Offensichtlich wird während des Konvertierens aus 'unsigned' 'signed' gemacht.
unsigned int ui = 3333333333; Edit1->Text = IntToStr(ui);Anzeige: -961633963
Finde bisher keine geeignete Methode. Wer weiß Rat?
Gruß
Leo
-
Was ist IntToStr? Mach's lieber so: http://www.c-plusplus.net/forum/viewtopic.php?t=39488
-
IMHO fehlt in der FAQ noch ein Hinweis auf boost::lexical_cast.
Damit geht's so:
string text = lexical_cast<string>(ui);MfG Jester
-
Cocaine schrieb:
Was ist IntToStr? Mach's lieber so: http://www.c-plusplus.net/forum/viewtopic.php?t=39488
Hallo,
wenn Du fragst 'Was ist IntToStr', dann habe ich wahrscheinlich in der falschen Gruppe gepostet. Bitte an die Moderatoren: Einmal in die richtige Ecke verschieben, denn ich wäre schon an einer Antwort interessiert, die sich auf 'IntToStr' bezieht. Danke!
Gruß
Leo
-
Hallo,
IntToStr ist eine Borland-typische Funktion. Du wärst also wohl im BCB-Forum besser aufgehoben.
Das bei deiner Umwandlung eine negative Zahl rauskommt, ist hier normal, da IntToStr als Parameter ein int oder ein __int64 erwartet, dein unsigned int also erst in ein int konvertiert wird. Vielleicht hilft hier ein cast zu __int64.Ciao
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Borland C++ Builder (VCL/CLX) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Braunstein schrieb:
Hallo,
IntToStr ist eine Borland-typische Funktion. Du wärst also wohl im BCB-Forum besser aufgehoben.
Das bei deiner Umwandlung eine negative Zahl rauskommt, ist hier normal, da IntToStr als Parameter ein int oder ein __int64 erwartet, dein unsigned int also erst in ein int konvertiert wird. Vielleicht hilft hier ein cast zu __int64.Ciao
Hallo,
Ja genau das war's.
unsigned int uiWert = 3333333333; __int64 i64 = (__int64) uiWert; MessageDlg("Wert: " + IntToStr(i64), mtInformation, TMsgDlgButtons() << mbOK, 0);Besten Dank.
Gruß
Leo