{函数功能:将整形转换成string
传入参数:Value: LongInt
传出参数:result: string
}
function TDIntToStr(Value : LongInt) : string;
var
ChStack: Array[0..10]of Char;
ChSP: Integer;
IsNep: Boolean; {是否负数}
iIndex: Integer;
begin
Result := '';
ChSP := 0;
FillChar(ChStack, SizeOf(ChStack), '0');
if(Value < 0) then
begin
IsNep := True;
Value := -Value;
end else
begin
IsNep := False;
end;
if (Value = 0) then
begin
ChStack[ChSP] := '0';
Inc(ChSP);
end else
begin
while Value <> 0 do
begin
{Ord('0') 返回0的ASCII码,做为基准点,得到数字的ASCII码}
ChStack[ChSP] := Chr((Value mod 10) + Ord('0'));
Inc(ChSP);
Value := Value div 10;
end;
end;
{如果原来的是负数,则压入一个负号}
if IsNep then
begin
ChStack[ChSP] := '-';
Inc(ChSP);
end;
{从栈中去数字字符}
while ChSP > 0 do
begin
Dec(ChSP);
Result := Result + ChStack[ChSP];
end;
end;