Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi int to float (https://www.delphipraxis.net/99720-int-float.html)

Tuxi 16. Sep 2007 17:35


int to float
 
Guten Tag,

wie wandel ich eine Ganzzahl in eine Fließkommazahl um? das problem scheint so banal zu sein das ich unter google nichts finde... brauche das für die Winkelfunktionen die nur extended annehmen, hab aber ganze zahlen.


Danke und schönen sonntag abend.



Tuxi

Dax 16. Sep 2007 17:36

Re: int to float
 
Delphi-Quellcode:
floatingPointVar := integerVar;

cruiser 16. Sep 2007 18:08

Re: int to float
 
Meines Wissens nach kannst du die INT-Werte auch direkt übergeben, weil sie implizit konvertiert werden

eddy 16. Sep 2007 18:16

Re: int to float
 
Delphi-Quellcode:
procedure TFTest.SpeedButton1Click(Sender: TObject);
var
  i : integer;
  r : real;
begin
  i := 25;
  // r := i / 0.5 * 0.5; // zum Testen
  r := i;
  ShowMessage(FloatToStr(r) + ' = ' + IntToStr(i));

  r := int(r);
  ShowMessage(FloatToStr(r) + ' = ' + IntToStr(i));
end;

Tuxi 16. Sep 2007 19:07

Re: int to float
 
Zitat:

floatingPointVar := integerVar;
diese funktion scheint es in meiner delphi (6 Standard) version nicht zu geben.

Sie werden nicht direkt impliziert, sonst würde ich ja nicht fragen :mrgreen:

Und das angegebene Beispiel verstehe ich nicht :-|

Delphi-Quellcode:
procedure TFTest.SpeedButton1Click(Sender: TObject);
var
  i : integer;
  r : real;
begin
  i := 25;
  // r := i / 0.5 * 0.5; // zum Testen
  r := i;
  ShowMessage(FloatToStr(r) + ' = ' + IntToStr(i));

  r := int(r);
  ShowMessage(FloatToStr(r) + ' = ' + IntToStr(i));
end;
int scheint da die "andersrum" funktion zu sein zu meinem Problem oder ?

SirThornberry 16. Sep 2007 19:51

Re: int to float
 
das wäre was ganz neues wenn es das unter d6 nicht gibt:
Delphi-Quellcode:
var
  floatingPointVar: Double;
  integerVar: Integer;
begin
  integerVar := 5;
  floatingPointVar := integerVar;
  [...]

Tuxi 16. Sep 2007 20:45

Re: int to float
 
MUSS ich dafür 2 Variablen definieren ? finde ich aber sehr umständlich. dachte eher es gibt sowas wie IntToFloat... aber pustekuchen... oder?

fkerber 16. Sep 2007 20:49

Re: int to float
 
Hi!

Wieso?
Was genau willst du denn machen?

Die zwei Variablen sind ja jetzt nur zur "Veranschaulichung"!
In der einen ist dein integer und das andere ist die float, in die du es haben willst!


Ciao, Frederic

Christian Seehase 16. Sep 2007 20:54

Re: int to float
 
Moin Tuxi,

ich hab' so den Eindruck, Du hast nur gesehen "Oh, da wird als Parametertyp Extended erwartet. Mist, meine Variable ist integer." und daraufhin versucht, eine Konvertierung zu finden, statt einfach die Variable zu übergeben. ;-)

dominikkv 16. Sep 2007 20:55

Re: int to float
 
du kannst deiner winkelfunction direkt mit ganzzahlen füttern

Tuxi 17. Sep 2007 20:13

Re: int to float
 
Zitat:

Hi!

Wieso?
Was genau willst du denn machen?

Die zwei Variablen sind ja jetzt nur zur "Veranschaulichung"!
In der einen ist dein integer und das andere ist die float, in die du es haben willst!


Ciao, Frederic


Ja richtig, aber wiso muss ich sie dann umkopieren, oder schreiben wir einander vorbei ?

Zitat:

Moin Tuxi,

ich hab' so den Eindruck, Du hast nur gesehen "Oh, da wird als Parametertyp Extended erwartet. Mist, meine Variable ist integer." und daraufhin versucht, eine Konvertierung zu finden, statt einfach die Variable zu übergeben.
nein, ich habe sie "einfach so" am anfang übergeben, aber delphi past es nicht. Er besteht auf extended und bekommt von mir ohne konventierung integer geliefer. Past ihm aber wie gesagt nicht.


Zitat:

du kannst deiner winkelfunction direkt mit ganzzahlen füttern
In Delphi 6 geht es nicht. Schau es dir in der hilfe an:

Zitat:

Tan berechnet den Tangens von X.

Unit

Math

Kategorie

Trigonometrie

function Tan(const X: Extended): Extended;

Beschreibung

Tan gibt den Tangens des mit X angegebenen Wertes zurück. Tan(X) = Sin(X) / Cos(X).

dominikkv 17. Sep 2007 20:17

Re: int to float
 
hmm...müsste eigendlich gehen -.-

ansonsten versuch mal
Delphi-Quellcode:
Tan(MeinInteger * 1.00)

Khabarakh 17. Sep 2007 20:34

Re: int to float
 
Zitat:

Zitat von Tuxi
In Delphi 6 geht es nicht.

Dann zeige uns bitte endlich Quelltext und Fehlermeldung. Implizite Konvertierungen sind nicht gerade der letzte Schrei in Sachen Sprachfeatures, die gibt es auf jeden Fall auch in Delphi 6 (was ich aus persönlicher Erfahrung bestätigen kann ;) ).

Tuxi 18. Sep 2007 19:52

Re: int to float
 
nunja da gibt es nicht sehr viel code der relevant sein könnte meiner meinung nach

Delphi-Quellcode:
var BezugspunktX,BezugspunktY:longint;NeuY:extended

...

BezugspunktX;=EditBezugspunktX.Text;

NeuX:=tan(BezugspunktX/BezugspunktY);


Das geht, aber ich würde es gerne direkt haben ohne den Umweg über eine zusätzliche, eigentlich unnötige variable.

BezugspunktX:=tan(BezugspunktX/BezugspunktY)+ [weitere berechnungen. auch integer];
sonst poste ich mal den ganzen ordner... :gruebel:


Schönen abend noch,

Tuxi

inherited 18. Sep 2007 20:06

Re: int to float
 
BezugspunktX;=EditBezugspunktX.Text;
-> BezugspunktX:=EditBezugspunktX.Text;
Und auch das klappt nicht
da musst du String in Int umwandeln...

Khabarakh 18. Sep 2007 20:13

Re: int to float
 
Du weist das Ergebnis einer trigonometrischen Funktion, also eine Fließkommazahl, einer Integer-Variablen zu. Überlege dir einmal, ob das funktionieren kann. Kurz gesagt: Dein Problem ist genau das umgekehrte wie im Threadtitel. Und das stand hundertprozentig auch so in der Fehlermeldung, mit der uns die 13 Rate-Posts erspart worden wären.
Solltest du das Ergebnis wirklich der Int-Variablen zuweisen wollen, musst du eine Konvertierung einbauen, z.B. per Floor, Round oder Ceil. Ansonsten benötigst du eben doch eine neue Float-Variable.

@inherited: Wenn Tuxi meint: "es geht", gehe ich mal von einem C&P-Fehler aus ;) .

Tuxi 8. Okt 2007 22:46

Re: int to float
 
so danke für euer bemühen. das dreieck projekt wurde beendet. Nun wenden wir uns der Kryptologie zu mit Delphi. Auf gutes gelingen *g*

<close>


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:06 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-2025 by Thomas Breitkreuz