blikk info infothek forum galerie sitemap

Formatieren von Tausenderpunkten und Kommastellen

anfang zurueck weiter ende nach oben
                                    von Georg Folie
USES
  Crt;


FUNCTION tausenderp (zahl: STRING) : STRING;
VAR
  i, j, k: INTEGER;
  n: STRING;
  s: INTEGER;
  a: STRING;
  x: INTEGER;
  vork, nachk, en: STRING;
BEGIN
  n:= '';
  en:= '';
  x:= POS('.',zahl);
  s:= 1;
  vork:= '';
  nachk:= '';
    IF x<> 0 THEN BEGIN
      vork:= COPY(zahl,1,x-1);
      nachk:= ','+ COPY(zahl,x+1,length(zahl));
    END
    ELSE
      vork:= zahl;
    FOR j:= length(vork) DOWNTO 1 DO BEGIN
      IF ((s MOD 3)= 0) AND (s<>(length(vork))) THEN BEGIN
        n:= n+ vork[j]+ '.';
        s:= s+ 1;
      END
      ELSE BEGIN
        n:= n+ vork[j];
        s:= s+ 1
      END;
    END;
  FOR k:= 1 TO length(n) DO
    en:= n[k]+ en;
  tausenderp:= tausenerp + nachk;
END;
 VAR
  zeile     : STRING;
  benein    : INTEGER;


BEGIN
  ClrScr;
  REPEAT
  Writeln('Geben Sie die Zahl ein: ');
  ReadLn(zeile);
  Write('Formatiert sieht die Zahl so aus:');
  zeile := z(zeile);
  Writeln (zeile);
  Writeln('Moechten Sie das Programm noch einmal starten? JA(1)   NEIN(2)');
  ReadLn(benein);
  clrscr;
  UNTIL benein=2;
  Readln;
END.
nach oben