AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Feld enthält falschen Wert
Thema durchsuchen
Ansicht
Themen-Optionen

Feld enthält falschen Wert

Ein Thema von bwolf · begonnen am 18. Apr 2012 · letzter Beitrag vom 19. Apr 2012
Antwort Antwort
Seite 2 von 2     12   
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#11

AW: Feld enthält falschen Wert

  Alt 18. Apr 2012, 11:12
Super vielen Dank!
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#12

AW: Feld enthält falschen Wert

  Alt 19. Apr 2012, 00:15
In anderen DBMS gibt es neben Float noch NUMERIC/DECIMAL. Hier kann man die Anzahl der relevanten Stellen festlegen
Das Problem ist nur, dass es in Delphi keinen dazu passenden Datentyp gibt.
"Currency" (64Bit) hat genau 4 Nachkommastellen.
Leider gibt es keinen "Decimal"-Datentyp mit 128Bit wie z.B. in dot-Net.

Eine Kunde von uns handelt mit Elektronikbauteilen.
Nun ist ein einzelner SMD Widerstand so billig, dass 5 Nachkommastellen benötigt werden.
Tja, geht halt nicht; Double bzw. Extended machen Rundungsfehler und Currency reicht nicht aus.
Hier sollte Embacadero unbedingt mit den Mitbewerbern gleichziehen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#13

AW: Feld enthält falschen Wert

  Alt 19. Apr 2012, 00:37
Currency ist ein nativer Typ in der FPU, so wie Single, Double und teilweise auch Extended.
Darauf hatte Borland/Codegear/Embarcadero keinen Einfluß.
Und die 64 Bit entsprechen auch der Auflösung (signifikante Stellen) des Extended, welches in der FPU die größte Auflösung darstellt.

Was da die 64-Bit-CPU oder sowas wie MMX bieten, weiß ich allerdings nicht genau.
$2B or not $2B

Geändert von himitsu (19. Apr 2012 um 00:40 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Feld enthält falschen Wert

  Alt 19. Apr 2012, 08:07
Zitat:
Das Problem ist nur, dass es in Delphi keinen dazu passenden Datentyp gibt.
Das ist hier auch irrelevant. Es ging ja auch um den Typ des Datenbankfeldes
Markus Kinzler
  Mit Zitat antworten Zitat
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#15

AW: Feld enthält falschen Wert

  Alt 19. Apr 2012, 08:56
Zitat:
Das Problem ist nur, dass es in Delphi keinen dazu passenden Datentyp gibt.
Das ist hier auch irrelevant. Es ging ja auch um den Typ des Datenbankfeldes
Bedingt, denn wie bekommt man die vom Feld gebotene Genauigkeit mit Delphi hinein? Soll man dann zu den Sprachen wechseln, die BCD o.ä. können?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Feld enthält falschen Wert

  Alt 19. Apr 2012, 09:26
Das Problem liegt an der Ungenauigkeit der Fliesskommazahlen. In seinem Fall würde sein Problem so vermieden.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#17

AW: Feld enthält falschen Wert

  Alt 19. Apr 2012, 09:46
Mir ist so, als wenn ich im Delphi mal einen BCD-Typen gesehen hätte, aber bei seinem kleinen Wert absolut unnötig. (da würde sogar Single reichen)
$2B or not $2B
  Mit Zitat antworten Zitat
BoolString

Registriert seit: 2. Feb 2009
Ort: Varel
70 Beiträge
 
RAD-Studio 2009 Pro
 
#18

AW: Feld enthält falschen Wert

  Alt 19. Apr 2012, 10:55
Klassiker auf dem Gebiet der Gleitkomma-Arithmetik sind die Arbeiten von Goldberg, Monniaux und die eigentliche Spezifikation IEEE 754.

Alle findet man relativ häufig frei im Netz. Z.B.:

Goldberg, What every computer scientist should know about floating point arithmetic.
Monniaux, The pitfalls of verifying floating point computations.
IEEE754 in der deutschsprachigen Wikipedia.

Ich kenn mich mit Datenbanken nicht so aus, aber entsprechende Ungenauigkeiten kommen oftmals zustande, wenn Variablen unterschiedlichen Typs miteinander verrechnet werden, Zwischenergebnisse in anderen Variablen gespeichert werden, etc.

Jan
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 17:01 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