IntToHex 負值時須注意

1 篇文章 / 0 new
author
IntToHex 負值時須注意
function IntToHex ( DecimalValue : Integer; MinimumWidth : Integer ) : string;
是將數值轉換成 16進制 的格式, 指定的位數 MinimumWidth 再數值為正值時是 ok, 當值是負數如 -1, 則
IntToHex(-1,4) 得到的結果是 FFFFFFFF, 而不是期望的 FFFF
因為內部數值是以 dword 型態為主, 因此若要傳回 FFFF則
if data>=0 then
    buff := buff+IntToHex(data,4)
else
    buff := buff+IntToHex(data+65536,4);
Free Web Hosting