![]() |
Datenbank: Interbase • Version: XE7 • Zugriff über: FireDac
Float aus TDBEdit in Datenbanktabelle speichern
Hallo,
ich habe einen Datnebankserver auf Interbase und hier für eine Tabelle einen Haufen TDBEdists gemacht. Da werden nun auch Geldbeträge eingetragen. Also Floats(so habe ich die Datentypen der Felder in der IB-Tabelle gemacht) mit zwei Digits hinterm Komma. Im TDBEdit gibt man ja aber nur Text ein. Wenn man nun Post ausführt, wird das ordnungsgemäß in die Datenbank eingetragen - bis auf die Floats. Da entstehen offenbar irgendwo innendrin Rundungsfehler, denn aus 5,8 wird in der Datenbank 5,80000019073486. Kann man da irgendwo die Digits der Rundung auf 2 begrenzen? |
AW: Float aus TDBEdit in Datenbanktabelle speichern
Deklariere die Datenbankfelder besser als Numeric oder Decimal mit 2 Nachkommastellen. Mit float wirst du keinen Spaß haben.
|
AW: Float aus TDBEdit in Datenbanktabelle speichern
Hallo,
"Double Precision" würde auch noch gehen. ABER: Wenn Du eh mit der Tabelle neu anfängst, tu dir selbst einen Gefallen und speichere die Werte in Cent oder 1/10 Cent ab: 12.45 -> 1245 Cent oder -> 12450 1/10 Cent. Die 1/10 soll wohl Rundungsfehlern vorbeugen, hatte ich mal gelesen. Zur Anzeige dann TDBdit.Displayformat (?) benutzen oder OnGetValue (oder so ähnlich). Oder besser gleich weg von den TBxxx-Dingers ... |
AW: Float aus TDBEdit in Datenbanktabelle speichern
Super, Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz