怎样将integer型转换成字母
如:
1->A
26->Z
27->AA
28->AB
52->AZ
53->BA
.....

解决方案 »

  1.   

    这个应该是26进制数据转换问题。
    function xxx(const Value: Integer): String;
    var
      iTmp : Integer;
    begin
      iTmp := Value div 26;
      if iTmp > 0 then
        Result := Char((iTmp) + 64);
      iTmp := Value mod 26;
      if iTmp > 0 then
        Result := Result + xxx(iTmp);  
    end;
      

  2.   

    上面的答案是错误的,现给正确的
    function xxx(const Value: Integer): String;
    var
      iTmp : Integer;
    begin
      iTmp := Value mod 26;
      if iTmp > 0 then
        Result := Char((iTmp) + 64)
      else if Value > 0 then Result := 'Z';
      if (Value/26) > 1 then
        Result := xxx((value - 1) div 26) + Result;
    end;