Mam problem z konwersją reprezentacji łańcuchowej wartości szesnastkowej w wartości całkowitej z Delphi.Konwertuj szesnastkową str na wartość dziesiętną w delphi
na przykład:
$ FC75B6A9D025CB16 dać mi 802829546 podczas korzystania z funkcji:
Abs(StrToInt64('$FC75B6A9D025CB16'))
ale jeśli mogę użyć programu Calc z Windows, wynik brzmi: 18191647110290852630
Moje pytanie brzmi: kto ma rację? ja, czy calc?
Czy ktoś ma już tego rodzaju problem?
Przy okazji, jest całkiem oczywiste, że 802829546 nie może mieć racji. Dziesiętna reprezentacja liczby całkowitej nie może być mniejsza niż cyfra szesnastkowa. –
jakiej wersji delphi używasz? W Delphi XE otrzymuję 255096963418698986 używając twojego kodu, który jest oczekiwanym rezultatem ... – whosrdaddy
@Andreas zaczynając od FC - może to być liczba ujemna, wtedy może być krótszy :-) –