Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Extended / integer (https://www.delphipraxis.net/31018-extended-integer.html)

HomerGER 2. Okt 2004 20:26


Extended / integer
 
Hallo
ich versuch grade ein Integer durch eine Extended zu teilen
und bekomme immer die fehlermeldung Ungültige Gleitkommaoperation

Extended / zb. 5 geht - was mach ich falsch?


Homer

Dax 2. Okt 2004 20:28

Re: Extended / integer
 
Du kannst bei Fließkommawerten nur / verwended, div ist nur für Integer-Werte.

HomerGER 2. Okt 2004 20:38

Re: Extended / integer
 
aber warum geht

Extended / 5 geht

zahl : Integer;

zahlt := 5

Extended / zahlt geht nicht ????

Dax 2. Okt 2004 20:41

Re: Extended / integer
 
Also, bei mir geht das hier:
Delphi-Quellcode:
var
  e: Extended;
  i: Integer;
begin
  e := 4;
  i := 3;
  e := e / i;
end;
Und e ist am Ende 1.3333333333..., kann dein Problem nicht nachvollziehen. :?

Christian Seehase 2. Okt 2004 20:43

Re: Extended / integer
 
Moin Homer,

[EDIT]
Mist, zu spät :mrgreen:
[/EDIT]

So funktioniert's bei mir

Delphi-Quellcode:
var
  iVar : integer;
  eExt : extended;
  iRes : integer;
  eRes : extended;

begin
  eExt := 1.001;
  iVar := 1000;
  iRes := trunc(eExt / iVar);
  eRes := eExt / iVar;
  ShowMessage(IntToStr(iRes)+#13#10+FloatToStr(eRes));
end;
:gruebel:

HomerGER 2. Okt 2004 20:43

Re: Extended / integer
 
var
e: Extended;
i: Integer;

e := Floatwert aus der DB

i anzahl x

Label.Caption := FormatFloat('0.00 "€"', e / i);

kommt der Fehler

Dax 2. Okt 2004 20:45

Re: Extended / integer
 
Wie gesagt, dein Fehler tritt bei mir nicht auf.

HomerGER 2. Okt 2004 20:50

Re: Extended / integer
 
das ist es ja was ich nicht verstehe
es ja auch so richtig , trotzdem bekomme ich den fehler ;-((

Christian Seehase 2. Okt 2004 20:52

Re: Extended / integer
 
Moin Homer,

als Workaround, bzw. zum Testen, könntest Du den Wert der Integervariablen vorab einer Extendvariablen zuweisen, und die dann im FormatFloat benutzen.

HomerGER 2. Okt 2004 21:00

Re: Extended / integer
 
der selber fehler

var
e: Extended;
i: Extended;

e := Floatwert aus der DB

i anzahl x

Label.Caption := FormatFloat('0.00 "€"', e / i);

kommt der Fehler

Christian Seehase 2. Okt 2004 21:14

Re: Extended / integer
 
Moin Homer,

:shock:

probier mal die Maske 0.00 mit Hilfe der Variablen DecimalSeparator zusammenzubauen, oder schreib' einfach direkt ein ,

HomerGER 2. Okt 2004 21:26

Re: Extended / integer
 
das gleiche

HomerGER 2. Okt 2004 21:27

Re: Extended / integer
 
dasgeht ja auch nicht

e: Extended;
i: Extended;

e := e/i

Dax 2. Okt 2004 21:34

Re: Extended / integer
 
Ich würde sagen, du hast ein Probelm das NICHT mit Delphi/Pascal zu tun hat. Da musst können wir dir wohl auch nicht helfen.

Christian Seehase 2. Okt 2004 21:38

Re: Extended / integer
 
Moin Homer,

welche Werte haben die Variablen?

HomerGER 2. Okt 2004 21:48

Re: Extended / integer
 
der
e bekommt ne wert aus DB ist Float
i ist anzahl datensätze und wenn ich für i eine zb 5 einsetze geht es !!!! nur nit mit ner Variablen i

Dax 2. Okt 2004 21:50

Re: Extended / integer
 
Dann liegt dein Problem vermutlich an der DB-Software, die wird warhscheinlich einen falschen Wert liefern, vielleicht NAN oder einen anderen, den der Prozessor in diesem Kontext nicht verarbeiten kann.

HomerGER 2. Okt 2004 21:54

Re: Extended / integer
 
e kommt ja aus der DB
und wenn ich e / 5 teil geht es
nur wenn ich e / i teile geht es nicht

als Unit habe ich noch Math eingebunden

Dax 2. Okt 2004 21:56

Re: Extended / integer
 
Bevor du e durch i teilst, solltest du vielleicht mal i ausgeben und uns sage, was drinsteht, vielleicht liegst an dem Wert von i. Was heisst vielleicht, garantiert wohl eher.

Christian Seehase 2. Okt 2004 21:58

Re: Extended / integer
 
Moin Homer,

gib' doch mal einen Beispielwert für e.
Bei mir tritt das mit D7 (PE) nämlich nicht auf. :gruebel:

HomerGER 2. Okt 2004 22:03

Re: Extended / integer
 
i ist immer Integer
wird vorher ausgelesen
anzahl datensätze wie 5 7 9 usw

HomerGER 2. Okt 2004 22:08

Re: Extended / integer
 
0
es ist 0
irgendwie bekommt erst eine 0 rein

HomerGER 2. Okt 2004 22:11

Re: Extended / integer
 
ich frage bevor ich rechne auf größer 0 ab
und es geht
Extended / 0 ist irgendwie blöde

Dax 3. Okt 2004 11:53

Re: Extended / integer
 
Das ist ja klar. x/0 ist mathematisch nicht definiert und deswegen bekommst du eine Exception, wenn du das tust.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:11 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