| Int2ZStr Routines | 
Unit
QESBPCSConvert
| Overloaded Variants | 
| Function Int2ZStr(const L: LongInt; const Len: Byte): string; | 
| Function Int2ZStr(const L: Int64; const Len: Byte): string; | 
Declaration
Function Int2ZStr(const L: LongInt; const Len: Byte): string;
Description
ESBNumPosSign controls whether a '+' Sign appears at the beginning for positive Integers. ESBBlankWhenZero can be set to True to have Zero returned as a string of blanks.
| Parameters | 
| L | Value to Convert to String. | 
| Len | is the length of the resultant string. If it is too small then valid digits will be truncated from the right. | 
Category
String/Integer Conversion RoutinesImplementation
 
| function Int2ZStr (const L: LongInt; const Len: Byte): string;
var
     Len2: Byte;
begin
     if ESBBlankWhenZero and (L = 0) then
     begin
          Result := BlankStr (Len);
          Exit;
     end;
     try
          FmtStr (Result, '%d', [abs (L)]); // Format the string
          if L = Low (LongInt) then
               Result := RightAfterStr (Result, 1);
          if (Len > 0) and ((L < 0) or ((L > 0) and ESBNumPosSign)) then
               Len2 := Len - 1 // Need to leave space for the sign
          else
               Len2 := Len;
          Result := PadChLeftStr (LeftStr (Result, Len2), '0', Len2); // Pad with Zeroes
          if L < 0 then // Add Sign if necessary
               Result := '-' + Result
          else if (L > 0) and ESBNumPosSign then
               Result := '+' + Result;
     except
          Result := '';
     end;
End; | 
Declaration
Function Int2ZStr(const L: Int64; const Len: Byte): string;Implementation
 
| function Int2ZStr (const L: Int64; const Len: Byte): string;
var
     Len2: Byte;
begin
     if ESBBlankWhenZero and (L = 0) then
     begin
          Result := BlankStr (Len);
          Exit;
     end;
     try
          FmtStr (Result, '%d', [abs (L)]); // Format the string
          if L = Low (Int64) then
               Result := RightAfterStr (Result, 1);
          if (Len > 0) and ((L < 0) or ((L > 0) and ESBNumPosSign)) then
               Len2 := Len - 1 // Need to leave space for the sign
          else
               Len2 := Len;
          Result := PadChLeftStr (LeftStr (Result, Len2), '0', Len2); // Pad with Zeroes
          if L < 0 then // Add Sign if necessary
               Result := '-' + Result
          else if (L > 0) and ESBNumPosSign then
               Result := '+' + Result;
     except
          Result := '';
     end;
End; | 
|  |