В предыдущих версиях Delphi (мы используем Delphi 2009), запись TFloatRec (используется в floatToDecimal) был определен какDelphi xe5 и TFloatRec и System.floatToDecimal
TFloatRec = packed record
Exponent: Smallint;
Negative: Boolean;
Digits: array[0..20] of AnsiChar;
end;
Однако в Delphi xe5 (и я думаю, что это может быть изменен в XE3), она определяется как ..
TFloatRec = packed record
Exponent: Smallint;
Negative: Boolean;
Digits: array[0..20] of Byte;
end;
Мы используем эту запись, чтобы преобразовать расширенное поле в RawByteString, кто может предложить то, что я могу сделать, чтобы преобразовать результаты вызова FloatToDecimal
в RawByteString.
Контекст
Этот метод вызывается во время чтения буфера из сети связи, поэтому она должна быть как можно быстрее, без преобразования кодировок и т.д.
Побитно, что «TFloatRec» D2009 и XE3 идентичны. –
Вы уверены, что преобразование из двоичного в десятичное, а затем назад является наиболее эффективным решением? –
Нет, но это устаревший код, который я пытаюсь изменить, после его работы у меня появляется возможность написать для него тесты и рефакторинг. – Mmarquee