AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Round gibt unterschiedliche Nachkommastellen zurück
Thema durchsuchen
Ansicht
Themen-Optionen

Round gibt unterschiedliche Nachkommastellen zurück

Ein Thema von messie · begonnen am 20. Nov 2012 · letzter Beitrag vom 22. Nov 2012
Antwort Antwort
Seite 1 von 3  1 23      
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#1

Round gibt unterschiedliche Nachkommastellen zurück

  Alt 20. Nov 2012, 09:45
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBDAC/Flamerobin
Moin,

ich habe einen View, in dem ich mit Round die Nachkommastellen für die Darstellung optimieren möchte.
Aber mir gibt z.B.
Code:
select Round(TABLE.OUTPUT,2) FROM TABLE
statt der erwarteten 0.30 im Flamerobin 0.300000 zurück. Im Programm stehen dann sogar 15 Nachkommastellen.

Beide rufe ich mit
Code:
select * from VIEW
auf.

Kann mir jemand erklären, wie das zusammen hängt?

Grüße, Messie
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#2

AW: Round gibt unterschiedliche Nachkommastellen zurück

  Alt 20. Nov 2012, 09:53
Ist laut Doku doch genau so gewollt:
http://www.firebirdsql.org/refdocs/l...unc-round.html

Zitat:
ROUND(123.654, 1) returns 123.700 (not 123.7)
ROUND(8341.7, -3) returns 8000.0 (not 8000)
ROUND(45.1212, 0) returns 45.0000 (not 45)
Edit: du könntest uns noch verraten, was TABLE.OUTPUT für einen Wert hat
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Round gibt unterschiedliche Nachkommastellen zurück

  Alt 20. Nov 2012, 10:08
Ist es nicht total egal wie viele Nachkommastellen du hast wenn eh alle weiteren Stellen Nullen sind? 0,3 und 0,300000000000 sind der gleiche Wert. Und darstellen kannst du den Wert nachher ja wie du willst.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Round gibt unterschiedliche Nachkommastellen zurück

  Alt 20. Nov 2012, 10:23
Ist es nicht total egal wie viele Nachkommastellen du hast wenn eh alle weiteren Stellen Nullen sind? 0,3 und 0,300000000000 sind der gleiche Wert. Und darstellen kannst du den Wert nachher ja wie du willst.
Ja, aber ich bekomme 0,300000011920929

Für die Darstellung: gibt es so etwas wie ein FormatFloat?

Grüße, Messie
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Round gibt unterschiedliche Nachkommastellen zurück

  Alt 20. Nov 2012, 10:25
statt der erwarteten 0.30 im Flamerobin 0.300000 zurück. Im Programm stehen dann sogar 15 Nachkommastellen.
?Ja und?

Interessant wird das doch erst, wenn Du diesen Wert darstellen willst, und da gibt es Format.

Ja, aber ich bekomme 0,300000011920929
Und dann nochmal gefragt, was ist der Ausgangswert?


Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#6

AW: Round gibt unterschiedliche Nachkommastellen zurück

  Alt 20. Nov 2012, 10:30
Interessant wird das doch erst, wenn Du diesen Wert darstellen willst, und da gibt es Format.
Ich habe gelesen, dass es das nicht mehr gibt. Wo müsste ich denn suchen?

Ausgangswert ist 0.3 gewesen (gelesen als String '0.3' aus einer Datei).

Grüße, Messie
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Round gibt unterschiedliche Nachkommastellen zurück

  Alt 20. Nov 2012, 10:49
Interessant wird das doch erst, wenn Du diesen Wert darstellen willst, und da gibt es Format.
Ich habe gelesen, dass es das nicht mehr gibt. Wo müsste ich denn suchen?
Äh in Delphi?


Ausgangswert ist 0.3 gewesen (gelesen als String '0.3' aus einer Datei).
die Frage ist, was ist der Inhalt von Table.Output und was ist der Typ?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Round gibt unterschiedliche Nachkommastellen zurück

  Alt 20. Nov 2012, 10:57
Delphi-Quellcode:
procedure TDatenmodul.QueryAfterOpen(DataSet: TDataSet);
begin
  (DataSet.FieldByName('FELD') as TFloatField).DisplayFormat := '0.00';
end;
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#9

AW: Round gibt unterschiedliche Nachkommastellen zurück

  Alt 20. Nov 2012, 10:59
Table.Output ist ein Float.

Ich habe (in anderen Programmen) öfter mit Iterationen zu tun und da bin ich schon häufiger über das Nachkommastellengeraffel gestolpert. Deshalb würde ich es gerne exakt gerundet in die DB einlesen.

Im Moment ist die Datenmenge direkt an ein TCRDBGrid angebunden, da ist kein Delphi zwischen. Ob es in dem Grid selbst Formatstrings gibt? Oder ist die 0815-Lösung () die einzige?

Grüße, Messie
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Round gibt unterschiedliche Nachkommastellen zurück

  Alt 20. Nov 2012, 11:16
Schade da kann ich Dir nicht weiter helfen, aber angeblich wird der Source Code mitgeliefert, vielleicht wirst Du da fündig.

Gruß
k-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:05 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