Integer in Real umwandeln

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Simor
Beiträge: 11
Registriert: Do 19. Sep 2013, 15:49

Integer in Real umwandeln

Beitrag von Simor »

Hallo.
Wie kann man Integer- in Real-Variablen umwandeln?
inttofloat erzeugt beim komplimieren die Fehlermeldung >>Error: Identifier not found "shortinttofloat"<<
Schon mal Danke, Simor

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Integer in Real umwandeln

Beitrag von Michl »

???

Code: Alles auswählen

var
  r:real;
  i:integer;
begin
  r:=i;
end;

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Simor
Beiträge: 11
Registriert: Do 19. Sep 2013, 15:49

Re: Integer in Real umwandeln

Beitrag von Simor »

Code: Alles auswählen

var
fb,b: integer;
  c: real; 
begin
b := trunc(inttofloat(b)+c*inttofloat(fb))
end;
da kommt die Fehlermeldung...

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Integer in Real umwandeln

Beitrag von Michl »

Code: Alles auswählen

var
fb,b: integer;
  c: real; 
begin
  b := b + Trunc(c) * fb;
end;
c ist Gleitkommawert, dieser muss umgewandelt werden, aufpassen musst du auf die Bereichsgrenzen von Integer (−2.147.483.648 bis 2.147.483.647 bei 32bit)

Siehe http://de.wikipedia.org/wiki/Integer_%28Datentyp%29

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Simor
Beiträge: 11
Registriert: Do 19. Sep 2013, 15:49

Re: Integer in Real umwandeln

Beitrag von Simor »

Dann wird aber schon c gerundet und nicht erst das Gesamtergebnis...

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Integer in Real umwandeln

Beitrag von Michl »

c wird nicht gerundet, sondern die Nachkommastellen werden abgeschnitten. Runden:

Code: Alles auswählen

var
fb,b: integer;
  c: real; 
begin
  b := b + Round(c * fb);
end;
so, jetzt habe ich, glaube ich, genug Hausaufgaben gemacht :wink:

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Simor
Beiträge: 11
Registriert: Do 19. Sep 2013, 15:49

Re: Integer in Real umwandeln

Beitrag von Simor »

Danke :)

Antworten