Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ''10.500,00' is not a valid floating point value (https://www.delphipraxis.net/97783-10-500-00-not-valid-floating-point-value.html)

Eppos 16. Aug 2007 10:26


''10.500,00' is not a valid floating point value
 
Hallo zusammen,

habe folgendes Problem.

Wenn ich das ausführe:
EdPreis.Text := FloatToStr(EdAnzahl.Value * aPreis);

bekomme ich die Fehlermeldung, die im betreff steht. Wie kann ich diese umgehen bzw. abstellen?

Grüße,
Eppos

mkinzler 16. Aug 2007 10:31

Re: ''10.500,00' is not a valid floating point value
 
Es scheinen die falschen Systemeinstellungen gretoffen zu sein
-setzte die Konstanetn DecimalSeparator, ThousandSeparator
-verwende die überladenen Funktionen mit den Einstellungen als Parameter

Eppos 16. Aug 2007 10:59

Re: ''10.500,00' is not a valid floating point value
 
die Einstellungen gibt es leider nicht.

Dies ist eine Komponente.

DeddyH 16. Aug 2007 11:06

Re: ''10.500,00' is not a valid floating point value
 
Zitat:

Zitat von Eppos
die Einstellungen gibt es leider nicht.

Doch, in der Unit SysUtils.

mkinzler 16. Aug 2007 11:07

Re: ''10.500,00' is not a valid floating point value
 
FloatToStr ist eine Funktion

Eppos 16. Aug 2007 11:10

Re: ''10.500,00' is not a valid floating point value
 
ok, kann mir jemand ein Besipiel schicken, wie ich das am besten machen soll.
Habe noch nicht soviel ahnung.

Danke fürs Verständnis.

oki 16. Aug 2007 11:22

Re: ''10.500,00' is not a valid floating point value
 
Mal mit FormatFloat probiert?

Gruß oki

mkinzler 16. Aug 2007 11:27

Re: ''10.500,00' is not a valid floating point value
 
Zitat:

Zitat von Eppos
ok, kann mir jemand ein Besipiel schicken, wie ich das am besten machen soll.
Habe noch nicht soviel ahnung.

Danke fürs Verständnis.

Lösung 1:
Delphi-Quellcode:
DecimalSeparator := ',';
ThousandSeparator := '.';
EdPreis.Text := FloatToStr(EdAnzahl.Value * aPreis);
Lösung 2 (besser):
Delphi-Quellcode:
var
  fs: TFormatSettings;
...
 fs.DecimalSeparator := ',';
 fs.ThousandSeparator := '.';
 EdPreis.Text := FloatToStr(EdAnzahl.Value * aPreis, fs);

marabu 16. Aug 2007 11:49

Re: ''10.500,00' is not a valid floating point value
 
Hallo,

das Hauptproblem scheint mir der Tausenderpunkt im Feld EdAnzahl zu sein - der muss weg:

Delphi-Quellcode:
var
  e: Extended;
begin
  e := StrToFloat(StringReplace('10.000,50', '.', '', [rfReplaceAll]));
  ShowMessage(FloatToStr(e));
end;
Sollte EdAnzahl eine Feldkomponente sein, dann hilft schon der typgerechte Zugriff mittels EdAnzahl.AsFloat um das Problem zu vermeiden.

Grüße vom marabu

Eppos 16. Aug 2007 12:22

Re: ''10.500,00' is not a valid floating point value
 
Danke für die Lösungsvorschläge.
Habe Lösung eins verwendet, aber trotzdem kommt die Fehlermeldung!? hm...
Auch die mi dem RaplceString habe ich probiert. Aber ich galube der hat ein Problem, das in das feld zuschreiben in EdPreis.Text!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:36 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