Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ZeosDBO -> Kommazahlen an MySQL übermitteln?! (https://www.delphipraxis.net/3256-zeosdbo-kommazahlen-mysql-uebermitteln.html)

1PM 3. Mär 2003 19:51


ZeosDBO -> Kommazahlen an MySQL übermitteln?!
 
Hallo!

Warum schreibt Delphi mir nur gerundete Zahlen in das Field (Float)?

Delphi-Quellcode:
      frmmain.qu.SQL.Text:='UPDATE prize Set '+
     'prize1 ='+formatfloat('0,00', p_prize1)+
    ', prize2 ='+FormatFloat('0,00', p_prize2)+
    ', prize3 ='+FormatFloat('0,00', p_prize3)+
    ' WHERE day='+IntToStr(p_day);
Vielen Dank für die Hilfe!

Gruß
1PM

DataCool 5. Mär 2003 09:40

Hi,

weil die Funktion FormatFloat, auf die Anzahl der Stellen hinterm Komma rundet !

Data

1PM 6. Mär 2003 15:51

Hallo!
Hat jemand einen Lösungsvorschlag?

Danke im voraus!

Gruß
1PM

Phoenix 6. Mär 2003 16:16

Delphi / ObjectPascal ist und bleibt eine englischsprachige Programmiersprache, und bei den Engländern / Amis ist das Dezimaltrennzeichen nunmal ein Punkt (.) und kein Komma (,).

Richtig wäre:
Code:
String := formatfloat('0.00', value);
Viel Spass

1PM 6. Mär 2003 16:53

Hallo Phoenix!

Wenn ich einen Punkt angebe bekomme ich beim Speichern einen Fehler!
Anscheinend nimmt er nur Komma?! :cry:

Gruß
1PM

sakura 6. Mär 2003 16:57

Punkt oder Komma?, das hängt (standardmäßig) von den lokalen Sprach- und Landeseinstellungen ab.

...:cat:...

1PM 6. Mär 2003 17:00

Hallo Sakura!

Das stimmt schon, aber es wird nur ein Komma zum speichern akzeptiert! Sonst bekomme ich Fehlermeldung! Mit Formatfloat geht es, doch allerdings rundet er ja! :/ Mit FloatToStr() habe ich es bereits auch schon probiert, da rundet er mir auch! Und nun!

Danke für eure Hilfe!

Gruß 1PM

1PM 10. Mär 2003 17:17

Niemand anders eine Idee? :?

mschaefer 12. Mär 2003 11:40

IDEE
 
Moin moin IPM

Also ohne viel Worte:

showmessage( FormatFloat( '#,##0.00',3.1495677) );
showmessage( FormatFloat( '#,##0.00',Int(3.1435677*100)/100) );

Hilft das ??


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