Delphi-Quellcode:
function IntToStr(AValue: Integer; ABase: Byte = 10): String;
var
i, digit: Integer;
begin
Result := IfThen(AValue < 0, '-', '');
AValue := abs(AValue); //mod gibt iirc sonst negative Werte zurück.
repeat
digit := AValue mod ABase;
if digit < 10 then
Result := Result + chr(digit+48)
else
Result := Result + chr(digit+55);
AValue := AValue div Base;
until AValue = 0;
end;
fix'd
(Lässt sich noch unter Verwendung von DivMod optimieren)
EDIT: Funktioniert so nur für Basen zwischen 2 und 36, keine Überprüfung - bei 1 gäbs ne Endlosschleife, bei 0 ne
Exception und bei allem größer als 36 würde es unschön aussehen.