Caption := IntToHex(51256589, 6);
Caption := Format('%.6x', 51256589);

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);var
      i: Integer;
    begin
      Label1.Caption := '';
      try
          Label1.Caption := Label1.Caption + IntToHex(StrToInt(Edit1.Text),1) + ' ';
        except
          Beep;
        end;end;
      

  2.   

    我们知道计算机存储数据是以0/1来表示的,十进制、八进制、十六进制是数据的另外一种表示方式,如果将51256589 转为16进制,那就是变为16进制形式的字符串,比如:83FA,FC88等,因为0x30E1D0D就是51256589,只是我们所用起来感觉方便多了,其实,如果把你放在只有二进制的世界里,你反而不适应十进制的表示法。
    那么,现在的问题就是:怎样把一个数字转化成一个字符串。好,做一个函数,用他来得到一个十六进制的字符串:Function GetHexStr(const Number:LongInt):string;
    var i,j:Integer;
        c:Char;
    begin
      i:=Number;
      while i<>0 do begin
        j:=i and $f;//屏蔽低四位以上的位
        if j<10 then
           c:=Chr(j+48)//如果是0-9,则转换为数字ASCII码
        else
           c:=Chr(j+64-9);//如果是10-15,则转换为'A'-'F'
        Result := c+Result;//累计字符串
        i:=i shr 4; //右移四位
      end;
    end;
      

  3.   

    来晚了
    inttohex()
    结果是string