![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Привет всем. Как перевести из 16-го числа в дробное десятичное. Например есть число A027AFDF5D984840 из него получаем 49.1903648. Знаю что в C# есть такая функция BitConverter.ToDouble, а как реализовать это на Delphi?
|
|
#2
|
|||
|
|||
|
Есть функция StrToInt(); Так вот, если в начале строки с числом поставить x или $, то она преобразует шестнадцатиричное в десятичное.
P.S. Сам обалдел, когда узнал ![]() |
| Этот пользователь сказал Спасибо PS11011010 за это полезное сообщение: | ||
nixel (28.04.2012)
| ||
|
#3
|
||||
|
||||
|
Цитата:
А я как лох исходника читал... |
|
#4
|
|||
|
|||
|
Дело в том что strtoint('$AD10') переводит в целое число. Для дроби надо использовать
Код:
procedure TForm1.Button1Click(Sender: TObject); const d8: array [0..7] of byte = ($A0,$27,$AF,$DF,$5D,$98,$48,$40); var D:double; begin D:=Double(d8); showmessage(floattostr(D)); end; |