Dlaczego StrToInt ("X5") zwraca 5 w Delphi? Czy X to notacja naukowa lub coś podobnego? Czy są jakieś inne znaki, które również zostaną zmienione na Integer?Dlaczego StrToInt ("X5") zwraca 5 w Delphi?
6
A
Odpowiedz
11
Nie znając Delphi, założyłbym się, że "X" powoduje, że funkcja przyjmuje wartość szesnastkową. Od 0x5 == 5 wydaje się działać. Wypróbuj X10 i sprawdź, czy wrócisz 16.
1
To jest notacja szesnastkowa. Wypróbuj XF, aby zobaczyć, że to zwraca 15.
0
Prawdopodobnie hexadecimal notacja.
Symbol X oznacza, że następujący po nim jest w systemie szesnastkowym (0-9 + A-F).
11
W Delphi, wartości szesnastkowe są oznaczone $ prefix:
a := $10; // => a = 16
Ale ponieważ w niektórych innych językach (np C) X jest używany do oznaczania wartości szesnastkowe, funkcja StrToInt obsługuje zarówno $ a X prefiksów, tak oba kody poniżej zwracają 16:
a := StrToInt('x10'); // => a = 16
a := StrToInt('$10'); // => a = 16
Powiązane problemy
- 1. Implementacja Hashtable dla Delphi 5
- 2. Dlaczego python max ("a", 5) zwraca wartość ciągu?
- 3. CurrentDb.RecordsAffected zwraca 0. Dlaczego?
- 4. Dlaczego {} + [] zwraca 0 w JavaScript?
- 5. Dlaczego produkt [] zwraca 1?
- 6. Dlaczego CMSampleBufferGetImageBuffer zwraca NULL
- 7. Dlaczego Parse.Config zwraca undefined?
- 8. Dlaczego "numpy.mean" zwraca "inf"?
- 9. Dlaczego HttpContext.Current.User.Identity.Name zwraca pusty
- 10. Dlaczego sys.getrefcount() zwraca 2?
- 11. Dlaczego os.path.isfile zwraca false?
- 12. dlaczego parse_url zwraca fragment?
- 13. Dlaczego Math.ceil zwraca double?
- 14. Dlaczego Delphi wstawia nop w środku pustkowia?
- 15. Dlaczego Enum.Parse() zwraca obiekt?
- 16. Dlaczego innerHTML zwraca "niezdefiniowany"?
- 17. Dlaczego Array.to_s zwraca nawiasy?
- 18. Dlaczego 3 +++ 5 działa w Pythonie
- 19. Dlaczego ta linia Scala zwraca jednostkę?
- 20. dlaczego MPMovieLoadState ma stan 5?
- 21. Jak obliczyć CRC 16 z wielomianem x16 + x12 + x5 + 1
- 22. dlaczego Enumerable.Except zwraca DISTINCT items?
- 23. Dlaczego Fałsz == Fałsz w [Fałsz] zwraca True?
- 24. Dlaczego read() w FileInputStream zwraca liczbę całkowitą?
- 25. Dlaczego to polecenie w ggplot zwraca błąd?
- 26. Dlaczego setProperty w języku Java zwraca obiekt?
- 27. dlaczego cout.tellp zawsze zwraca -1?
- 28. Dlaczego indexPathForItemAtPoint zawsze zwraca zero
- 29. Dlaczego req.params zwraca pustą tablicę?
- 30. Dlaczego Activity.getPackageManager() zwraca wartość null
F to 15, a nie 16. – Pesto