Einzelnen Beitrag anzeigen

Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
293 Beiträge
 
Turbo Delphi für Win32
 
#1

Double und Gleitkommafehler

  Alt 20. Aug 2004, 14:20
Moin Leute!

Mein Delphi kann nicht rechnen, wie blöd:

Delphi-Quellcode:
Var
  lrIst,
  lrSoll : Double;
  lIst,
  lSoll : Integer;
  lTmpPercent,
  lLastPercent : Byte;

    Procedure ProgressBar;

    BEGIN
      lrIst:=lIst * 100;
      lrSoll:=lSoll;
-> lrIst:=lrIst / lrSoll;
      lTmpPercent:=Round(lrIst);
      If lLastPercent <> lTmpPercent Then
      Begin
        lLastPercent:=lTmpPercent;
        pbSpezi.Position:=lLastPercent;
        Application.ProcessMessages;
      End;
    END;
Das Programm ist an der mit -> gekennzeichneten Stelle. lIst = 1; lSoll = 330236
Da habe ich die Werte extra in temporäre Variablen geschrieben, und trotzdem. In der mit -> markierten Zeile führt er nur 100/330236 aus und schreibt es wieder in die selbe Variable. Dabei kommt es zum Gleitkommafehler. Kann mir einer sagen, was das soll?

Ein Integer liebender
Stefan
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat