AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Float-Werte für Filterung mit Nachkommastellen maskieren
Thema durchsuchen
Ansicht
Themen-Optionen

Float-Werte für Filterung mit Nachkommastellen maskieren

Ein Thema von messie · begonnen am 10. Nov 2013 · letzter Beitrag vom 26. Apr 2015
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

Float-Werte für Filterung mit Nachkommastellen maskieren

  Alt 10. Nov 2013, 19:47
Datenbank: Firebird • Version: 2.5x • Zugriff über: IBDAC
Moin,

vielleicht fehlen mir nur die richtigen Suchbegriffe aber zu meiner Frage bekomme ich keine Ergebnisse.
Ich habe Float-Felder, die ich gerne in einem TCRDBGrid filtern möchte. Die Funktion zum Filtern gehört ja dazu. Nun habe ich die Anzeige im Grid auf drei Nachkommastellen begrenzt. Eine Filterung schlägt deshalb fehl, da sie ja auf die DB und nicht auf die Anzeige angewendet wird und da sind die Nachkommastellen nicht begrenzt. Eine Aussage ob das vom TCRDBGrid so korrekt ist mag ich mangels Erfahrung nicht tätigen.

Gibt es dazu eine sinnvolle Strategie?

Danke, Messie
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Float-Werte für Filterung mit Nachkommastellen maskieren

  Alt 10. Nov 2013, 20:38
Gibt es dort keine Option, ob die Filterung auf die Datenmengen-Werte oder die Anzeigewerte erfolgen soll? Bei DevExpress gibt es das z.b.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
messie

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

AW: Float-Werte für Filterung mit Nachkommastellen maskieren

  Alt 10. Nov 2013, 21:35
Gibt es dort keine Option, ob die Filterung auf die Datenmengen-Werte oder die Anzeigewerte erfolgen soll? Bei DevExpress gibt es das z.b.
Magst Du mir da mal mit Stichworten bei den Eigenschaften aushelfen?

Danke, Messie
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Float-Werte für Filterung mit Nachkommastellen maskieren

  Alt 11. Nov 2013, 07:52
Andere Idee: Du prüfst auf Gleichheit, nicht wahr? Verwendest Du vielleicht den Filter des Datasets? Oder macht das dieses Grid?

Falls Du das machst, dann ändere die Bedingung von 'Feld=1.23' auf 'Feld>=1.229 and Feld<=1.231' o.ä..

Geändert von Furtbichler (11. Nov 2013 um 08:07 Uhr)
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#5

AW: Float-Werte für Filterung mit Nachkommastellen maskieren

  Alt 11. Nov 2013, 11:28
Noch eine andere Idee:
Du erstellst eine Abfrage in der du das Floatfield auf 3 stellen rundest und nimmst die Abfrage als Datasource für das Grid
Delphi-Quellcode:
SELECT Floatwert, round([Floatwert],3) as Floatgerundet
  FROM Tabelle
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#6

AW: Float-Werte für Filterung mit Nachkommastellen maskieren

  Alt 11. Nov 2013, 14:51
Das funktioniert auch nicht zuverlässig, da '0.1 <> 1.0-0.9'. Altbekanntes floating point problem.
Wenn deine Anwendung kein BCD hat, musst Du in Delphi mit Bereichen filtern oder die Zahl als Text ansehen. Dann wird es aber mit Relationen schwierig (<,>)
  Mit Zitat antworten Zitat
messie

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

AW: Float-Werte für Filterung mit Nachkommastellen maskieren

  Alt 11. Nov 2013, 20:12
Moin,

und Danke für Eure Hilfe. Die Grid-Kompo filtert nach Gleichheit. Somit dürfte die Variante von Earlybird auf den ersten Blick die beste sein. Ich werde berichten.

Grüße, Messie
  Mit Zitat antworten Zitat
messie

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

AW: Float-Werte für Filterung mit Nachkommastellen maskieren

  Alt 17. Nov 2013, 21:14
Hallo,

nun wollte ich da mal weiter machen. Leider entstehen in dem Projekt große zeitliche Pausen die es nicht einfacher machen, das richtig zu durchdringen - sorry.

Die Variante von Earlybird hat nicht funktioniert. Ich habe den View auf die drei Stellen begrenzt und auch die Variante mit der neuen Variablen (as Roundedvalue) probiert.

Ich verstehe es noch nicht ganz. Was mir auffällt, ist die Darstellung in Flamerobin. Warum bekomme ich sechs Nachkommastellen angezeigt, egal ob ich zwei oder drei Stellen im View angebe? Es kommt mir so vor als wäre der View gar nicht so gerundet wie erwartet.

Danke, Messie
  Mit Zitat antworten Zitat
messie

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

AW: Float-Werte für Filterung mit Nachkommastellen maskieren

  Alt 19. Apr 2015, 20:28
Moin,

vielleicht fehlen mir nur die richtigen Suchbegriffe aber zu meiner Frage bekomme ich keine Ergebnisse.
Ich habe Float-Felder, die ich gerne in einem TCRDBGrid filtern möchte. Die Funktion zum Filtern gehört ja dazu. Nun habe ich die Anzeige im Grid auf drei Nachkommastellen begrenzt. Eine Filterung schlägt deshalb fehl, da sie ja auf die DB und nicht auf die Anzeige angewendet wird und da sind die Nachkommastellen nicht begrenzt. Eine Aussage ob das vom TCRDBGrid so korrekt ist mag ich mangels Erfahrung nicht tätigen.

Gibt es dazu eine sinnvolle Strategie?

Danke, Messie
Moin,

das Thema ist jetzt tatsächlich wieder aktuell.
Ich kann leider weiterhin nur Ganzzahlen filtern. Zahlen mit Nachkommastellen lassen sich nicht filtern, obwohl der zum Grid zugeordnete View mit drei Nachkommastellen erzeugt und angezeigt wird.

Eine Zahl aus dem View 0,100 kann ich also nicht ausfiltern. Warum? Auch mein Round(Param,digits)-View wird in Flamerobin nicht korrekt angezeigt. Liegt das Problem darin?

Grüße, Messie
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Float-Werte für Filterung mit Nachkommastellen maskieren

  Alt 19. Apr 2015, 20:33
Zeige mal die Abfrage.
Markus Kinzler
  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 06:28 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