und mit ein paar Logarithmen (oder so) könnte man auch mathematisch rausbekommen welche Zahl wie lang ist ... OK, oder über IntToStr+Length (is nur langsamer)
Delphi-Quellcode:
MaxLen = {größte Länge der beiden Zahlen als String};
String1 := Format('%.*d', [MaxLen, Variable1]);
STring2 := Format('%.*d', [MaxLen, Variable2]);
voll unperformat, aber es läuft:
Delphi-Quellcode:
String1 := IntToStr(Variable1);
STring2 := IntToStr(Variable2);
While Length(String1) < Length(String2) do String1 := '0' + String1;
While Length(String2) < Length(String1) do String2 := '0' + String2;
[add]
Delphi-Quellcode:
// einfach
MaxLen = Max(Length(IntToStr(Variable1)), Length(IntToStr(Variable2)));
String1 := Format('%.*d', [MaxLen, Variable1]);
String2 := Format('%.*d', [MaxLen, Variable2]);
// schnell(er)
Function NumLen(i: Integer): Integer;
Begin
If i = 0 Then
Result := 1
Else If i > 0 Then
Result := Trunc(Log10(Variable1)) + 1
Else
Result := Trunc(Log10(-Variable1)) + 1;
End;
MaxLen = Max(NumLen(Variable1), NumLen(Variable2));
String1 := Format('%.*d', [MaxLen, Variable1]);
String2 := Format('%.*d', [MaxLen, Variable2]);