AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Matheparser: Schleifenproblem bei Kommata
Thema durchsuchen
Ansicht
Themen-Optionen

Matheparser: Schleifenproblem bei Kommata

Ein Thema von Nils_13 · begonnen am 30. Jul 2007 · letzter Beitrag vom 30. Jul 2007
 
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

Matheparser: Schleifenproblem bei Kommata

  Alt 30. Jul 2007, 08:48
Hi,

mein kleiner Matheparser macht mir beim Komma Ärger: Bei der Rechnung 1,5*2.3 verwandelt er
1
,
5
zu zu 1,5. Allerdings geschieht dies nicht bei 2.3. Warum ? Mir ist nur aufgefallen, dass ich die Arraygröße verändere und die Schleife deshalb vlt. schon früher zu Ende ist, aber falls das überhaupt Auswirkungen hat, wie könnte man dann das Problem lösen ?

Delphi-Quellcode:
function Split(s : String) : TDynTokArray; // Ein Array für die Klasse TToken, spielt allerdings keine großartige Rolle hierbei; Split teilt, wie der Name schon sagt, alles in Tokens auf. Dennoch muss eine Kommazahl in einem Eintrag statt in 3 Einträgen stehen.
begin
  ...
  for i := 0 to High(Result) do
  begin
    if (Result[i].Val = ',') or (Result[i].Val = '.') then // der Punkt wird hier abgefragt, also ist hier nicht die Fehlerquelle
    begin
      Result[i-1].Val := Result[i-1].Val + Result[i].Val + Result[i+1].Val; // Zusammensetzen
      for j := i to High(Result) do // der Rest im Array verschoben werden
        Result[j] := Result[j+1];
      SetLength(Result, High(Result)); // der unnötige Rest, welcher sogar noch Fehler verursachen würde, wird gelöscht
    end;
  end;
  ...
end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz