Announcement

Collapse
No announcement yet.

Integer - Kommazahlen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Integer - Kommazahlen

    Wahrscheinlich liegt es auch an der Uhrzeit aber ich blicke nicht mehr durch )

    <PRE>
    EV2 := StrToInt(lblFinalAtt.caption);

    If EV = 0 then EV := 1;
    EV := (EV2 * 100) div EV;

    If EV = 100 then lblErgebnis.caption := '50';

    If EV > 100 then
    begin
    EV := EV - 100;
    EV := EV * 2.63 + 50;
    end
    </PRE>
    Wenn ich EV als Integer deklariere, schreit er bei der 2.63 (Komma) wie am Spieß, deklariere ich EV als Single, rechnet er nicht mehr mit EV2 (Integer).

    Im Endeffekt möchte ich nur einen String aus einem Label als Zahl übernehmen, damit weiterrechnen (dezimal) und das Ergebnis hinterher wieder in einem Label ausgeben.

    Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht )

  • #2
    Hallo,

    integer-Typen haben grundsätzlich keine Nachkommastellen. Deswegen ist die Deklaration als Single schon ganz ok. Auf Single-Typen kann aber keine ganzzahlige Division (div) durchgeführt werden. Div muß also durch / ersetzt werden. Wenn es wirklich eine ganzzahlige Division sein soll, muß man mit Zwischen-Feldern arbeiten.

    Gruß Katj

    Comment


    • #3
      Hallo,
      falls du unbedingt die Nachkommastellen abtrennen willst:
      EV := Trunc((EV2 * 100) / EV);

      mfg Klaus-Pete

      Comment

      Working...
      X