AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Rechnen mit double precision
Thema durchsuchen
Ansicht
Themen-Optionen

Rechnen mit double precision

Ein Thema von hoika · begonnen am 19. Feb 2007 · letzter Beitrag vom 20. Feb 2007
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#1

Rechnen mit double precision

  Alt 19. Feb 2007, 09:10
Datenbank: FB • Version: 1.5 • Zugriff über: egal
Hallo #,

ich habe Records mit 2 double precision Feldern (Field_Min, Field_Sub).
Pro Eintrag (WorkStep) gibt es mehrere dieser Records
Etwa so

WorkStepId Min Sub
2 3.5 1.0
2 4.0 0.0
3 2.0 0.0

Die Werte enthalten maximal 2 Nachkommstellen.
Ich brauche die Summe aus Min-Sub von Workstep 2.

Man könnte das jetzt als
Select Sum(Min-Sub) From WorkStepTable Where WorkStepId=2 machen,
geht auch, aber DoublePrecision ist Fliesskomma (Rundungsfehler usw.)

Unter Delphi würde ich ja

Int (Int(Min*100)) - Int(Sub*100)) / 100

über auf Integer-Werte gehen können

Geht das auch unter Firebird (udf oder so ?)


Danke
Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Rechnen mit double precision

  Alt 19. Feb 2007, 09:16
Du könntest auch einen Cast nach Numeric versuchen.
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Rechnen mit double precision

  Alt 19. Feb 2007, 10:51
Hallo,

Numeric ist aber auch fliesskomma .. (zumindestens > 10,2)
Aber ein Cast auf Integer müsste ja vielleicht gehen ...
Hat denn FreeUDF dafür nix ???


Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Rechnen mit double precision

  Alt 19. Feb 2007, 11:04
mach doch einen expliziten Cast
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Rechnen mit double precision

  Alt 19. Feb 2007, 19:10
Hallo,

OK, erledigt, mit dem Cast zu Integer buw numeric(x mit x > irgendwas
scheint das zu klappen.
Muss nur mal ein paar "böse Daten" für Tests anlegen.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Rechnen mit double precision

  Alt 19. Feb 2007, 21:37
Wenn du wirklich nur 2 Nachkommastellen berücksichtigen willst, kannst du auch

select cast (sum(min-sub)*100 as int) from tabelle where workstep = 4711 zum Ziel kommen.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Rechnen mit double precision

  Alt 20. Feb 2007, 13:40
Hallo,

dabei kann es aber zu Rundungsfehlern beim sub führen,
deshalb multipliziere ich beide Werte vorher mit 100.
Der cast auf Integer ist ja dann sowas wie ein Trunc *hoff*


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:16 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