在Delphi的早期版本(我們使用德爾福2009年),在TFloatRec記錄(floatToDecimal使用)被定義爲德爾福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。
語境
這種方法被稱爲同時從網絡通信讀取緩衝區,所以它需要儘可能快,無需轉換代碼頁,等等
D2009和XE3的'TFloatRec'一點一滴都是一樣的。 –
您確定從二進制轉換爲十進制,然後返回是最有效的解決方案嗎? –
不,但這是我試圖改變的遺留代碼,一旦它工作,我就有機會爲它編寫測試並重構。 – Mmarquee