Konvertierung Real in String

Alphatronix

Mitglied
Anfänger-Problem

Hallo!

Hänge jetzt in Delphi und komme nicht weiter:

Ich möchte eine Textausgabe "ausgeben", in der sich neben dem Text, auch eine Variable (Real) befindet, die ich zuvor berechnet habe. Wenn ich der Ausgabe den Datentyp "String" zuweise, meckert der Compiler immer, dass sich die beiden Datentypen ins Gehege kommen, sprich inkompatibel sind. Was kann ich machen??

Danke im Voraus!

Grüße
David :)
 

Alphatronix

Mitglied
mhh... und wie wende ich diesen Befehl an ?!

Ich habe jetzt hier die Variable im Realformat vorliegen... aber was nun?

Danke für Deine Hilfe! :)
 

Dario Linsky

Erfahrenes Mitglied
Aus der Hilfe:
FloatToStr konvertiert eine Gleitkommazahl in den entsprechenden String-Wert.

Unit

SysUtils

Kategorie

Gleitkomma-Konvertierung

Code:
function FloatToStr(Value: Extended): string;

Beschreibung

FloatToStr konvertiert die mit Value angegebene Gleitkommazahl in die entsprechende String-Darstellung. Bei der Operation wird das allgemeine Zahlenformat mit 15 signifikanten Stellen verwendet.

Wenn Sie die Formatierung des Strings genauer steuern wollen, verwenden Sie die Funktion FloatToStrF.

Du übergibst der Funktion einfach Deine Variable und bekommst dann einen String zurück:
Code:
meinString := FloatToStr(meineZahl);
 

Arne Buchwald

Erfahrenes Mitglied
no.gif
- wo bleibt heutzutage eigentlich die Eigeninitiative ??

P.S.: Bitte nächstes Mal eine treffendere Topic-Überschrift wählen!
 

Alphatronix

Mitglied
@ArneE:

Ich dachte eigentlich, dass für solche Fragen diese Board da ist... oder liege ich da falsch?? Anderen Anwendern bei Problemen zu helfen...
Bin selber -Hardware- Moderator eines Boards, und ich helfe auch bei den Fällen, die schon zum x-sten Male durchgesprochen worden. Mir macht sowas Spaß...:rolleyes:


Danke für die Antwort.
Aber irgendwie kann ich damit auch noch nicht allzu viel anfangen :-(( :rolleyes:

Hier ist mal der Quelltext meines Programms:

Code:
procedure TForm1.FormCreate(Sender: TObject);
const
endl = #13 + #10;
var
Ausgabe: String;
takt1,takt2 : Extended;
begin
takt1 := 0.66666 * Edit1.Text + 333.333;
takt2 := 1.5 * Edit1.Text - 500;

IF RadioGroup1.ItemIndex = 0 THEN
Ausgabe :=Edit1.Text + 'MHz (P-Rating) ergeben' + takt1 + 'MHz Realtakt' + endl
ELSE
Ausgabe := Edit1.Text + 'MHz (Realtakt) ergeben' +  takt2 + 'MHz P-Rating' + endl;
MessageDlg(Ausgabe,mtInformation,[mbOK],0);

Bei der Ausgabe möchte ich das jetzt anwenden... wie mache ich das jetzt am Besten??

VIELEN DANK!


:)

[edit=ArneE]
Code-Tags ergänzt.
 
Zuletzt bearbeitet von einem Moderator:

Arne Buchwald

Erfahrenes Mitglied
Original geschrieben von Alphatronix
@ArneE:

Ich dachte eigentlich, dass für solche Fragen diese Board da ist... oder liege ich da falsch?? Anderen Anwendern bei Problemen zu helfen...
Anderen User zu helfen natürlich, jedoch sollte dabei die Eigeninitiative des Users nicht gänzlichst abhanden kommen, sprich erst selbst probieren (langwieriger, aber davon lernt man etwas, da sonst nur Copy&Paste betrieben wird und man sich den Quellcode nicht anguckt) und dann den Quellcode mit einer Fehlermeldung posten.

Bin selber -Hardware- Moderator eines Boards [...]
Gerade dann solltest du das bezgl. Themenüberschriften eigentlich wissen ... ;)

Code:
procedure TForm1.FormCreate(Sender: TObject);
const
endl = #13 + #10;
var
Ausgabe: String;
takt1,takt2 : Extended;
begin
takt1 := 0.66666 * StrToFloat(Edit1.Text) + 333.333;
takt2 := 1.5 * StrToFloat(Edit1.Text) - 500;

IF RadioGroup1.ItemIndex = 0 THEN
Ausgabe :=Edit1.Text + 'MHz (P-Rating) ergeben' + FloatToStr(takt1) + 'MHz Realtakt' + endl
ELSE
Ausgabe := Edit1.Text + 'MHz (Realtakt) ergeben' +  FloatToStr(takt2) + 'MHz P-Rating' + endl;
MessageDlg(Ausgabe,mtInformation,[mbOK],0);

Ungetestet - aber so sollte es gehen.
 
Zuletzt bearbeitet: