Ich habe ein Problem, eine Zeichenfolge Darstellung eines Hexadezimalwerts in Integer-Wert mit Delphi zu konvertieren.Konvertiere Hexadezimalzahl in Delphi in den Dezimalwert
zum Beispiel:
$ FC75B6A9D025CB16 geben Sie mir 802.829.546, wenn ich die Funktion verwenden:
Abs(StrToInt64('$FC75B6A9D025CB16'))
, aber wenn ich die Calc-Programm von Windows verwenden, ist das Ergebnis: 18191647110290852630
Also meine Frage ist: Wer hat Recht? ich oder der Kalk?
Hat schon jemand diese Art von Problem?
Übrigens ist es ziemlich offensichtlich, dass 802829546 nicht richtig sein kann. Die dezimale Darstellung einer ganzen Zahl darf nicht weniger Ziffern als die hexadezimale Darstellung haben. –
Welche Delphi-Version verwenden Sie? In Delphi XE bekomme ich 255096963418698986 mit Ihrem Code, der das erwartete Ergebnis ist ... – whosrdaddy
@Andreas beginnend mit FC - es könnte negative Zahl sein, dann kann es kürzer sein :-) –