Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Gleitkomma * Integer


mexx - Di 01.11.05 11:49
Titel: Gleitkomma * Integer
Hallo,

ich möchte einen Gleitkommawert im Format 00,00 mit einem Integer-Wert multiplizieren. Wie mache ich das?

Gruß


ripper8472 - Di 01.11.05 12:00

multiplizieren und mit format() oder wie es heisst ausgeben.


mexx - Di 01.11.05 12:04

Ich kann die Multiplikation noch nicht einmal ausführen, weil es Probleme gibt Real und Integer zu Multiplizieren. Darum geht es mir.


ripper8472 - Di 01.11.05 12:07

benutze / statt div.

edit: stuss. du willst ja multiplizieren.

schliesse mich meinem nachredner an. fehler liegt woanders.


Stefan.Buchholtz - Di 01.11.05 12:07

Dann liegt der Fehler woanders, natürlich kannst du Reals und Integers miteinander multiplizieren. Zeig mal deinen Code.

Stefan


GTA-Place - Di 01.11.05 12:07

Das geht auf jedenfall:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
var
  X, Z: Real;
  Y:    Integer;
begin
  X := 10.54;
  Y := 4;

  Z := X * Y;
end;



EDIT: 4 auf einmal, das gibt es ja gar nicht... :wink:


Blackheart666 - Di 01.11.05 12:07

Warum Das ?

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
var
  Form1: TForm1;
  A,C:Real;
  B:Integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  A:=00.01;
  B:=10;
  C:=A*B;
  Caption:=FloatToStr(C);
end;


Zu Spät !


mexx - Di 01.11.05 12:11

OH ha, Sorry mein Fehler war, dass ich das Ergebnis nicht als Typ Real deklariert habe. Das das Ergebnis ebenfalls ein Kommawaert ist, konnte es ja nicht klappen. THX


mexx - Di 01.11.05 12:15

Aber wie schneide ich den Rateschwanz ab. Ich möchte nach der 2 Stelle nach dem Komma keine Zahlen mehr haben.


GTA-Place - Di 01.11.05 12:18


Delphi-Quelltext
1:
MyZahl := RoundTo(MyZahl, -2);                    

Oder eben mit Format();


Blackheart666 - Di 01.11.05 12:19

Oder Dies.


Delphi-Quelltext
1:
Caption := FloatToStrF(C,fffixed,8,2); {Mit 8 Nachkommazahlen Rechnen - nur 2 Anzeigen}                    


Stefan.Buchholtz - Di 01.11.05 12:20

user profile iconmexx hat folgendes geschrieben:
Aber wie schneide ich den Rateschwanz ab. Ich möchte nach der 2 Stelle nach dem Komma keine Zahlen mehr haben.


Mit RoundTo:


Delphi-Quelltext
1:
x := RoundTo(a * i, 2);                    


Möglicherweise muss der Parameter auch -2 sein, um hinter dem Komma zu Runden, schau mal in die Hilfe.

Stefan


GTA-Place - Di 01.11.05 12:22

Wie schon gesagt vor 2 Minuten: -2


mexx - Di 01.11.05 13:28

Blackheart666 hat gewonnen...denoch danke an alle die geholfen habe. THX