Thema: Delphi Parser Kommarechnung

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Parser Kommarechnung

  Alt 4. Sep 2010, 16:45
Delphi-Quellcode:
....
        '0'..'9': begin
            if decimal>0 then begin
              number := number + Iord(c) - 48)/decimal;
              decimal := decimal*10;
            else
              number := 10 * number + ord(c) - 48;
            code := isNum;
          end;
        '.': if decimal>0 then
               raise Exception.Create('invalid decimal')
            else
               decimal := 10;
        '(': begin
            decimal := 0;
            number := _Eval(term, i);
            code := isNum;
          end;
        ' ': begin
            decimal := 0;
            continue;
          end;
        '+', '-', '*', '/', ')':
          begin
            decimal := 0;
....
dann noch decimal deklarieren und initialisieren sowie die Zahlentypen von INTEGER nach DOUBLE ändern.

Ungetestet, könnte aber klappen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat