[Back to STRINGS SWAG index]  [Back to Main SWAG index]  [Original]


{ This function will format all integers in Pascal to be formatted with
a punctuation between any 3 digits. Eq: 1234567890 will look like:
1.234.567.890 If you prefer to use a comma instead of punctuation, just
replace the '#46' with '#44' or any other delimiter of your own choice.
}

Function NFormat (FNumber : Longint) : String;
   var TempStr : String; OrgLen : Byte;
      begin
      Str (FNumber, TempStr); OrgLen := Length (TempStr);
      Case OrgLen of
          4 : TempStr := Copy(TempStr, 1, 1) + #46 + Copy(TempStr,2,3);
          5 : TempStr := Copy(TempStr, 1, 2) + #46 + Copy(TempStr,3,3);
          6 : TempStr := Copy(TempStr, 1, 3) + #46 + Copy(TempStr,4,3);
          7 : TempStr := Copy(TempStr, 1, 1) + #46 + Copy(TempStr,2,3)
                                             + #46 + Copy(TempStr,5,3);
          8 : TempStr := Copy(TempStr, 1, 2) + #46 + Copy(TempStr,3,3)
                                             + #46 + Copy(TempStr,6,3);
          9 : TempStr := Copy(TempStr, 1, 3) + #46 + Copy(TempStr,4,3)
                                             + #46 + Copy(TempStr,7,3);
         10 : TempStr := Copy(TempStr, 1, 1) + #46 + Copy(TempStr,2,3)
                                             + #46 + Copy(TempStr,5,3)
                                             + #46 + Copy(TempStr,8,3);
         end;
      NFormat := TempStr;
      end;

(* TEST THE FUNCTION ABOVE *)

BEGIN

Writeln(NFormat(1):15);
Writeln(NFormat(12):15);
Writeln(NFormat(123):15);
Writeln(NFormat(1234):15);
Writeln(NFormat(12345):15);
Writeln(NFormat(123456):15);
Writeln(NFormat(1234567):15);
Writeln(NFormat(12345678):15);
Writeln(NFormat(123456789):15);
Writeln(NFormat(1234567890):15);
Readln;

END.


[Back to STRINGS SWAG index]  [Back to Main SWAG index]  [Original]