![]() |
kann nicht teilen
Hallo,
ich will einfach einen real Wert dividieren und im Edit-Fenster anzeigen aber ich bekomme immer einen fehler ! es muss doch möglich sein +,- und * funtzen doch auch...
Delphi-Quellcode:
var
a,b,c,f,d,g,h :real; begin a:= StrToFloat(Edit1.text); b:= StrToFloat(Edit2.text); d:= StrToFloat(Edit3.text); c:=a*b; f:=b*d; g:=f-c; h:=100*g/f; // warum kann er hier nicht G durch F rechnen Edit4.Text:=FloatToStr(c)+' €'; Edit5.Text:=FloatToStr(f)+' €'; Edit6.Text:=FloatToStr(g)+' €'; Edit7.Text:=FloatToStr(h)+' %'; end; |
Re: kann nicht teilen
Hallo! Ich kann dein Problem leider nicht nachvollziehen. Ich hab mir mal eben 7 Edits auf mein Form gezogen und dein Code funktioniert einwandfrei, d.h. es kommt bei mir kein Fehler.
Welchen Fehler bekommst du denn? Hast du evt. in irgendein Feld 0 eingegeben? Hat evtl "f" den Wert 0? Dann bekommst du nämlich eine Division durch Null und das gibt natürlich einen Fehler. Man liest sich, Stanlay :hi: |
Re: kann nicht teilen
Hi!
Was kommt denn für ein Fehler? Probier mal
Delphi-Quellcode:
Ich glaube, das ging.
g mod f
[Edit]Leider nicht bei Reals, aber Stanlay hat recht, dein Code funzt bei mir auch [/Edit] Ciao fkerber |
Re: kann nicht teilen
Falls in Deinem Beispiel f = 0 ist, gibt es auf jeden Fall einen Fehler...
|
Re: kann nicht teilen
Was natürlich auch noch eine Möglichkeit wäre, ist, dass eins der Felder ganz leer ist, und du einen Konvertierungsfehler kriegst ('' / StrToFloat)
Man liest sich, Stanlay :hi: |
Re: kann nicht teilen
Fehler:
im Projekt1.exe ist eine Exception der Klasse EInvalidOP aufgetreten.Meldung:'Ungültige Gleitkommaoperation ..... habe auch mal F:=1 gesetzt ohne erfolg ..
Delphi-Quellcode:
var a,b,c,f,d,g,h :Extended; //oder real begin f:=1; a:= StrToFloat(Edit1.text); b:= StrToFloat(Edit2.text); d:= StrToFloat(Edit3.text); c:=a*b; f:=b*d; g:=f-c; h:=g*100 / f; Edit4.Text:=FloatToStr(c)+' €'; Edit5.Text:=FloatToStr(f)+' €'; Edit6.Text:=FloatToStr(g)+' €'; Edit7.Text:=FloatToStr(h)+' %'; end; |
Re: kann nicht teilen
Hi,
mach mal daraus ein Extended. Dann versuch mal das g*100 einzuklammern. Chris |
Re: kann nicht teilen
Hi. Wenn du f schon 1 setzt, dann direkt vor der Verwendung von f. So wie du das jetzt geändert hast, ist ja f immer noch von "b" und "d" abhängig. Wenn entweder b oder d = 0 sind, dann ergibt f auch 0 => Fehler :wink:
Man liest sich, Stanlay :hi: |
Re: kann nicht teilen
Ergänze den Code einfach z. B. mit folgender Abfrage:
Delphi-Quellcode:
if f = 0 then
f := 1 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz