![]() |
Umwandlung der Zahl '4070523202' in '-224444094' (int)
Hallo,
ich habe folgendes Problem. Die o.g Zahl '4.070.523.202' steht für eine Kunden-Stamm-Nr. Leider hat man sich darauf geeinigt, Werte in der Datenbank nur in Integer zu speichern. In der Datenbank befindet sich der Wert '-224.444.094'. Jetzt, da ich gerade an einer Abfrage-Maske arbeite, die mir den gesuchten Kunden anhand seiner zugehörigen Nummmer anzeigen soll, habe ich da so meine Probleme. Wie kommt man auf die Zahlen ============================ Maxint := 2147483647; 2xMaxint := 4294967294; DBNr := KdNr - 2xMaxint (+2); // +2 aus welchem Grund auch immer?!? Bis hier her -> THEORETISCH <- Delphi-Variante =============== ?????????? Folgendes Problem tritt bei mir auf: Die Kundennummer '4.070.523.202' entnehme ich einem Edit-Feld, in dem ich die Zahl eingebe. Nun, wie bekomme ich den Wert des Edit Feldes in eine Variable die gleichzeitig einem Zahlentyp entspricht, die einen solch großen Wert akzeptiert???? Verschiedenes ausprobiert: ========================== zahl := longword(Edit.Text) -> ergibt eine andere Zahl wie '4.070.523.202'?!? zahl := StrToInt(Edit.Text) -> Exception, da '4.070.523.202' zu groß Das kann doch nicht sein, dass man in Delphi nicht mit so großen Zahlen umgehen kann... |
kann schon. aber geh mal mit dem cursor in das wort integer und drück F1 (Hilfe) und teste mal Sachen wie Cardinal oder int64.
|
Ich hab's...
Delphi-Quellcode:
[edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit]
KNr := LongWord(StrToInt64(Edit.Text, 0);
IntWert := Integer(KNr); Ausgabe := IntToStr(IntWert); showMessage(Ausgabe); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz