Forum: Object-Pascal / Delphi-Language
Delphi
by Delphi-Narr,
5. Sep 2010
Ich habe das auch gemacht (also decimal:=0), klappt aber nicht richtig (rechnet falsch)...
Bei 1,1 * 9 kommt nicht 9,9 raus sondern 0,4 oder so etwas...
Ich habe mal einen komplett neuen geschrieben, der klappt jetzt auch...
Der schreibt den Term nach Zahlen und Operatoren sortiert in eine Liste, fügt oder löscht falsche Rechenzeichen (hinzu), geht dann den Term von HINTEN durch und...
Forum: Object-Pascal / Delphi-Language
Delphi
by Delphi-Narr,
4. Sep 2010
So meinte ich das nicht. Ich meine den Startwert...
Ich krieg immer eine Fehlermeldung, einen Gleitkommaüberlauf...
decimal ist dabei =2.1219942e-314
number ist 0 und c=5
Fehlerzeile ist
number := (number + ord(c) - 48)/decimal;
Forum: Object-Pascal / Delphi-Language
Delphi
by Delphi-Narr,
4. Sep 2010
Danke erstmal. Nach Korrektur einiger Tippfehler komme ich an einer Stelle nicht weiter. Hier nochmal alles (neu)
function TermToFloat(Const Term:string):real;
function _Eval(term: string; var i: Integer): Integer;
const
isNone = 0;
isNum = 1;
isOp = 2;
Forum: Object-Pascal / Delphi-Language
Delphi
by Delphi-Narr,
4. Sep 2010
Hallo, ich habe folgenden Parser benutzt, doch leider beherrscht dieser keine Kommazahlen...
WIe muss ich da was ändern, damit er dies auch beherrscht???
function TermToFloat(Const Term:string):real;
function _Eval(term: string; var i: Integer): Integer;
const
isNone = 0;
isNum = 1;
isOp = 2;