Delphi-PRAXiS

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

BornToBeBreit 9. Feb 2006 19:16


real to str
 
hallo, also ich hab da mal ne frage, wie wandle ich den datenyp real in string oder in int um?


gibts da au sone einfach möglcihkeit wie von str zu int ?

malo 9. Feb 2006 19:18

Re: real to str
 
Delphi-Referenz durchsuchenFloatToStr

//edit: In Int kannst du es mit Delphi-Referenz durchsuchenRound umwandeln.

BornToBeBreit 9. Feb 2006 19:24

Re: real to str
 
ne, das geht net. oder ich mach was falsch ^^^

also ich hab folgeden code

Delphi-Quellcode:


var

  Euro, Ergebnis : integer;
  Rechenkurs : real;

begin

Euro := strtoint(edit1.Text);

Rechenkurs := 0.8333;

Ergebnis := (intTostr(Euro) * (Rechenkurs);

edit2.Text := (intTostr(Ergebnis);

ManuMF 9. Feb 2006 19:30

Re: real to str
 
Zitat:

Zitat von BornToBeBreit
ne, das geht net. oder ich mach was falsch ^^^

Ja. ;-)

Du musst das Ergebnis Runden. Du kannst einer Variable etc. immer nur das zuweisen, was sie "ist". Dem Edit also nur ein String (IntToStr), dem Ergebnis einen Integer-Wert (Round) usw.

Delphi-Quellcode:
var
  Euro, Ergebnis : Integer;
  Rechenkurs : Real;

begin
  Euro := StrToInt(Edit1.Text);
  Rechenkurs := 0.8333;
  Ergebnis := Round(Euro * Rechenkurs);
  Edit2.Text := IntToStr(Ergebnis);
end;
ODER

Delphi-Quellcode:
var
  Euro, Ergebnis, Rechenkurs : Real;

begin
  Euro := StrToFloat(Edit1.Text);
  Rechenkurs := 0.8333;
  Ergebnis := Euro * Rechenkurs;
  Edit2.Text := FloatToStr(Ergebnis);
end;
Gruß,
ManuMF

Luckie 9. Feb 2006 19:32

Re: real to str
 
Zitat:

Zitat von BornToBeBreit
ne, das geht net. oder ich mach was falsch ^^^

Höchst wahrscheinlich. Einfach mal nachdenken, was du da machst:
Delphi-Quellcode:
var
  Euro, Ergebnis : integer;
  Rechenkurs : real;
begin
  Euro := strtoint(edit1.Text); // Stimmt, mit Zeichenketten kan man nicht rechnen
  Rechenkurs := 0.8333; // OK, Kurs ist eine Fleißkommazahl
  // Was machst du in der folgen den Zeile? Bzw. frag dich mal, warum du das machst.
  Ergebnis := (intTostr(Euro) * (Rechenkurs);
  edit2.Text := (intTostr(Ergebnis); // hier stimmt es wieder
Wobei es etwas unglücklich ist das Ergebnis als Ganzahl zu deklarieren, wo doch offensichtlich eine Fließkommazahl rauskommen muss, wenn ich mit einer eben solchen multipliziere. Ich bin mir auch nicht sicher, ob das Delphi überhaupt zu lässt.

BornToBeBreit 9. Feb 2006 19:36

Re: real to str
 
so, danke erstmal es funktoiniert :-)

und jetz die nächste frage ^^

wie kann ich ne zahl auf x stellen hinterm komma runden?

also das z.b. aus 10.97237432743279

nur 10.97 wird?

mkinzler 9. Feb 2006 19:37

Re: real to str
 
Wert := Round( x * Zahl) / x;

Luckie 9. Feb 2006 19:42

Re: real to str
 
Zitat:

Zitat von BornToBeBreit
so, danke erstmal es funktoiniert :-)

und jetz die nächste frage ^^

Du bist seit über einem Jahr hier Mitglied und dir sollte die Regel geläufig sein, dass man bei einer neuen Frage einen neuen Thread eröffnen soll, der Übersichtlichkietr halber. Bitte tu dies auch. Ich schließe dann mal hier, da das wohl geklärt ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 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