Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String in Integer wandeln. (https://www.delphipraxis.net/42523-string-integer-wandeln.html)

smart 20. Mär 2005 11:09


String in Integer wandeln.
 
Wie kann man ein String: 1,29 in Integer umwandeln. Mit StrToInt geht es nicht. Da kommt eine Fehlermeldung. Ich habe das schon mal hinbekommen, leider wieder vergessen.

Zacherl 20. Mär 2005 11:11

Re: String in Integer wandeln.
 
StrToFloat :wink:

Airblader 20. Mär 2005 11:13

Re: String in Integer wandeln.
 
1,29 ist natürlich kein Integer ;)

Wenn du ein Float draus machen willst, siehe über mir.

Soll es doch ein Integer sein, müsstest du mit entsprechenden Funktionen wie Hier im Forum suchenround, Hier im Forum suchenceil oder Hier im Forum suchenfloor runden :)

Also z.B.:

Delphi-Quellcode:
var
   zahl: string;
   floatzahl: float;
   integerzahl: integer;
begin

zahl := '1.29'; // Dein String

// Umwandeln in Float
floatzahl := StrToFloat(zahl);

// Umwandeln in Integer
integerzahl := StrToInt(Round(StrToFloat(zahl))); // = 1
integerzahl := StrToInt(Ceil(StrToFloat(zahl))); // = 2
integerzahl := StrToInt(Floor(StrToFloat(zahl))); // = 1
D.h:

Du rundest(zahlabhängig/auf/ab) die Zahl, indem du sie vorher zu einem Float machst und sie nach dem Runden in den Integer wandelst ;)

Round = "mathem.", zahlenabhängiges Runden
ceil = Aufrunden
floor = Abrunden

air

smart 20. Mär 2005 11:24

Re: String in Integer wandeln.
 
Nein, es Sollte nicht gerundet werden. Eigendlich brauch nur das Komma entfernt zu werden und dann könnte man bei der Ausgabe /100 verwenden.

Zacherl 20. Mär 2005 11:27

Re: String in Integer wandeln.
 
Dann Multipliziere den Wert doch erst mit 100. :wink:

smart 20. Mär 2005 11:30

Re: String in Integer wandeln.
 
Nur, man kann ein String leider nicht Multiplizieren.

Die Muhkuh 20. Mär 2005 11:36

Re: String in Integer wandeln.
 
Mach halt so:

Mach nen Float draus, multipliziere mit 100, mach nen Integer draus und dividiere wieder mit 100. Umständlicher und ungenauer wird halt nich gehen :mrgreen:

smart 20. Mär 2005 11:41

Re: String in Integer wandeln.
 
Auf die Idee bin ich auch schon gekommen, was mich daran stört ist nur, dass jeder dummer Taschenrechner dann genauer rechnet.

Die Muhkuh 20. Mär 2005 11:42

Re: String in Integer wandeln.
 
Dann bleibt dir nichts anderes übrig, es so zu machen, wie Airblader.

Lannes 20. Mär 2005 11:50

Re: String in Integer wandeln.
 
Hallo,
Zitat:

Zitat von smart
Nein, es Sollte nicht gerundet werden. Eigendlich brauch nur das Komma entfernt zu werden und dann könnte man bei der Ausgabe /100 verwenden.

Komma entfernen:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var i : Integer;
    s : String;
begin
  s := Copy('1,20',1,Pos(',','1,20')-1);
  s := s + Copy('1,20',Pos(',','1,20')+1,10000);
  i := StrToInt(s);
end;
MfG Lannes


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz