Entwickler-Ecke

Datenbanken - Nachkommastellen


Hänsel - Do 12.03.09 14:19
Titel: Nachkommastellen
Hallo
Habe in einer ADOQuery Komponente ein num.Feld mit der Größe 18,6 angelegt. Bekomme aber nur 4 Nachkommastellen angezeigt.Der Rest sind Nullen.Wie bekomme ich 6 Nachkommastellen?
Hänsel


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 13.03.2009 um 14:54


Sinspin - Do 12.03.09 14:55

Erstmal solltest du zum Testen eine Zahl verwenden die garantiert genug nachkommastellen hat. PI dürfte dafür ideal sein.

Zum anderen wäre es schön einmal ein Stück Quelltext zu sehen aus dem hervorgeht wie du den Test gestaltet hast, der dir nur 4 Nachkommastellen liefert.


Hänsel - Fr 13.03.09 07:22

Danke für die schnelle Rückantwort,

Die Berechnung sieht so aus :

Delphi-Quelltext
1:
MainForm.ADOQuery2['W_704']:=MainForm.ADOQuery2['W_703']/MainForm.ADOQuery2['Einheiten_ww_ges'];                    

Die Einstellung für die Nachkommastellen habe ich im Objektinspekt. vorgenommen.
Da habe ich sicher etwas vergessen?

mfg
Hänsel

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Reinhard Kern - Fr 13.03.09 16:26

user profile iconHänsel hat folgendes geschrieben Zum zitierten Posting springen:
Die Berechnung sieht so aus :

Delphi-Quelltext
1:
MainForm.ADOQuery2['W_704']:=MainForm.ADOQuery2['W_703']/MainForm.ADOQuery2['Einheiten_ww_ges'];                    

Die Einstellung für die Nachkommastellen habe ich im Objektinspekt. vorgenommen.
Da habe ich sicher etwas vergessen?


Hallo,

die Frage ist, hat deine Zahl überhaupt so viele Stellen? Wenn du sie als Single definiert hast, gibt es nur 6 relevante Stellen insgesamt, du must also schon mindestens mit Double rechnen.

Gruss Reinhard

Moderiert von user profile iconNarses: Zitat gekürzt


Steini1980 - Fr 13.03.09 16:27

Wenn dein Ergebnis nur 4 Nachkommastellen hat, zeigt er auch nur 4 Stellen an und lässt die Nullen am Ende weg. Vielleicht hilft dir das weiter:


Delphi-Quelltext
1:
function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string;                    


Sinspin - Fr 13.03.09 19:06

user profile iconSteini1980 hat folgendes geschrieben Zum zitierten Posting springen:
Wenn dein Ergebnis nur 4 Nachkommastellen hat, zeigt er auch nur 4 Stellen an und lässt die Nullen am Ende weg. Vielleicht hilft dir das weiter:


Delphi-Quelltext
1:
function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string;                    


Ganz genau! Und deshalb hatte ich ja gemeint das es zum Testen sinnvoll ist eine Zahl zu verwenden die garantiert genug Nachkommastellen hat.
Zum Beispiel eben PI.


Hänsel - So 15.03.09 15:09

Danke hat mir weitergeholfen.

Hänsel