![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: ZEOS
Rundungsproblem mit MySQL
Hallo zusammen,
ich habe ein kleines Rundungsproblem was vermutlich an MySQL liegt. Ich habe ein FloatFeld in welches ich z.B. den Wert "1,95583" eingebe. Dann mache ich ein einfaches Post, wodurch die Daten ja eigentlich gespeichert werden sollten. Allerdings steht dann aufeinmal "1,9558299779892" in dem Feld drin :wall: Weis jemand was ich da falsch mache? MfG :angel: |
Re: Rundungsproblem mit MySQL
Wie fügst du das ein ( Code).
|
Re: Rundungsproblem mit MySQL
Nimm doch mal ein anderes Datenfeld, z.B. numeric oder currency.
|
Re: Rundungsproblem mit MySQL
@mkinzler:
SQL-Code:
@Jelly: ich werd da morgen gleich ausprobieren aber jetz iss zu*gäähhnnn* .zZ(Hier gibbet ja gerkein Smiley der pennt :gruebel: )
Create Table if not exists Tabellenname (Feldname FLOAT);
|
Re: Rundungsproblem mit MySQL
Ich meinte eigentlich den INSERT.
|
Re: Rundungsproblem mit MySQL
Naja ich mach das mit den ZEOS Queries. Einfach Append, dann in ein Editfeld schreiben und dann en Post.
|
Re: Rundungsproblem mit MySQL
Zeig mal den Code dafür.
|
Re: Rundungsproblem mit MySQL
Hä? :gruebel: Bitte:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender : TObject);
begin Query.Append; end;
Delphi-Quellcode:
und dnn gibts halt noch des DBEdit in das ich zwicshen den Klicks die Zahl eintrage. Der Fehler taucht übrigens auch bei anderen Kommazahlen auf.. fängt bei 0,1 an und kommt eigentlich bei jeder Kommazahl ausser *,0 vor.
procedure TForm1.Button2Click(Sender : TObject);
begin if Query.State <> dsBrowse then Ouery.Post; end; |
Re: Rundungsproblem mit MySQL
Hai Angel,
hier mal ein Auszug aus der mySQL 5.x Doku: Zitat:
Zitat:
Code:
Eine Dezimalzahl mit 10 Stellen, der übergebene Wert wird auf 5 Stellen nach dem Komma gerundet.
DEZIMAL(10,5)
Zitat:
|
Re: Rundungsproblem mit MySQL
Hab jetz den Typ DECIMAL(10,5) genommen, aber es wird mir imernoch ein etwas seltsamer Wert angezeigt. Komischerweise in einem Grid mit einem FloatField:
Delphi-Quellcode:
und drin steht
with Columns.Add do
begin FieldName:=cfEinzelPreis; Width:=100; TFloatField(Field).DisplayFormat:=',.00'; end; 1234,09997558594 anstatt 1234,1 :wall: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 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