![]() |
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.
|
Re: String in Integer wandeln.
StrToFloat :wink:
|
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 ![]() ![]() ![]() Also z.B.:
Delphi-Quellcode:
D.h:
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 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 |
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.
|
Re: String in Integer wandeln.
Dann Multipliziere den Wert doch erst mit 100. :wink:
|
Re: String in Integer wandeln.
Nur, man kann ein String leider nicht Multiplizieren.
|
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: |
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.
|
Re: String in Integer wandeln.
Dann bleibt dir nichts anderes übrig, es so zu machen, wie Airblader.
|
Re: String in Integer wandeln.
Hallo,
Zitat:
Delphi-Quellcode:
MfG Lannes
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 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 by Thomas Breitkreuz