Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Probleme mit StrToFloat (https://www.delphipraxis.net/129314-probleme-mit-strtofloat.html)

Dieter11 16. Feb 2009 20:40


Probleme mit StrToFloat
 
Hallo Zusammen,

ich hänge schon eine ganze Weile an folgendem Problem:


Delphi-Quellcode:
VAR SP_Menge : Extended;
     Menge_String : String;

begin
  inherited;

  DecimalSeparator := ',';

  Menge_String := String(frm_Behandlungen.DBEdit_Menge.Text);
  SP_Menge := strtofloat(Menge_String);

  .......
Menge_String wird korrekt angezeigt.
Bei SP_Menge gibt es keine Veränderung - die Variable hat immer den Wert 0.
Auch wenn ich z.B. die Variable SP_Menge : Real; (oder double, ...) setze.

Vielleicht kann mir hier jemand helfen.

Danke.

Gruss
Dieter

[edit=mkinzler]Delphi-Tag korrigiert Mfg, mkinzler[/edit]

Meflin 16. Feb 2009 20:43

Re: Probleme mit StrToFloat
 
1. was soll der typecast nach string()?
2. wieso nicht einfach strtofloat(frm_Behandlungen.DBEdit_Menge.Text)?

Dieter11 16. Feb 2009 20:48

Re: Probleme mit StrToFloat
 
Das hatte ich auch schon probiert - ohne Erfolg.

Meflin 16. Feb 2009 20:50

Re: Probleme mit StrToFloat
 
Zitat:

Zitat von Dieter11
Das hatte ich auch schon probiert - ohne Erfolg.

Wie sieht denn der Wert als string aus?

blink182 16. Feb 2009 20:52

Re: Probleme mit StrToFloat
 
das was ich vermutet habe ;)
Delphi-Quellcode:
Menge_String :=Stringreplace(Menge_String ,'.',#44,[]);
das sollte helfen

Dieter11 16. Feb 2009 21:03

Re: Probleme mit StrToFloat
 
Der String sieht wie folgt aus: '2,89'
Probiert habe ich auch : '2.89'

Stringreplace
Menge_String :=Stringreplace(Menge_String ,'.',#44,[])
fürht auch nicht zum Erfolg.

Neutral General 16. Feb 2009 21:10

Re: Probleme mit StrToFloat
 
Hi,

Hast du mal debuggt und geschaut, was Menge_String vor dem StrToFloat für einen Wert hat? (Evtl. das falsche, leere Edit im Code benutzt?)

Meflin 16. Feb 2009 21:23

Re: Probleme mit StrToFloat
 
Da dein code an sich keine Fehler enthält, und strtofloat eine Exception auslösen müsste, wenn irgendwelche nicht verarbeitbaren Zeichen im string sind, tippe ich darauf, dass der Fehler woanders im code ist :gruebel:

Satty67 16. Feb 2009 21:32

Re: Probleme mit StrToFloat
 
Ja, das eine Exception ausgelöst wird schreibt er ja nicht. Vielleicht klappt im Prinzip auch alles (was wir vom Code sehen) korrekt.

Interessant wäre noch, wie er den Wert überprüft. Also etwas mehr vom Code...

Dieter11 16. Feb 2009 22:30

Re: Probleme mit StrToFloat
 
Ich schaue mir den Wert im Überwachungsmonitor an.

Hier der Code der Prozedure:

Delphi-Quellcode:
procedure Tfrm_Behandlungen.BitBtn_SpeichernArtikelClick(Sender: TObject);

VAR SP_Einzelpreis : Real;
     SP_Menge : double;
     Menge_String : String;

begin
  inherited;

  DecimalSeparator := ',';

  SP_Menge := 0.01;
  Menge_String := '0,01';

//  SP_Menge := String(frm_Behandlungen.DBEdit_Menge.Text);
//  SP_Menge_Float := StrToFloat(SP_Menge);


  Menge_String := String(frm_Behandlungen.DBEdit_Menge.Text);
//  Menge_String :=Stringreplace(Menge_String ,'.',#44,[]);

  SP_Menge := strtofloat(Menge_String);

  SP_Einzelpreis := StrToFloat(frm_Behandlungen.DBEdit_Menge.Text);

// Hier wird letztendlich Menge mit Preis multipliziert und das Ergebnis gespeichert.




end;
[edit=mkinzler]Delphi-Tag eingefügt. Mfg, mkinzler[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr.
Seite 1 von 2  1 2      

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