![]() |
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; |
Re: String in Integer wandeln.
Zitat:
|
Re: String in Integer wandeln.
Delphi-Quellcode:
...:cat:...
var
Int: Integer; begin Int := Trunc(StrToFloat('1,29')); end; |
Re: String in Integer wandeln.
Zitat:
|
Re: String in Integer wandeln.
Ich habe zwei Strings vorliegen, 1,29 und 1,89. Diese beiden String sollen ganz einfach zusammengerechnet werden. Die Zahlen sind natürlich nur ein Beispiel. Wenn ich die jetzt runde, ist das Ergebnis zu ungenau, nämlich 3. Richtig wäre aber 3,18. So eine einfache Aufgabe sollte sich doch mit Delphi lösen lassen.
|
Re: String in Integer wandeln.
Wozu dann Integer?
Delphi-Quellcode:
var
zahl1, zahl: string; ergebnis: float; begin zahl1 := '1.29'; zahl2 := '1.86'; ergebnis := StrToFloat(zahl1) + StrToFloat(zahl2); Label1.Caption := FloatToStr(ergebnis); end; |
Re: String in Integer wandeln.
Zitat:
...:cat:... |
Re: String in Integer wandeln.
Ein Integer ist nun mal ein ganzzahliger Wert und hat somit keine Nachkommastellen. Du musst über eine Gleitkommazahl, wie z.B. Real, gehen, anders geht es nicht, ist das so schwer zu begreifen. :?
|
Re: String in Integer wandeln.
Und genau darauf bin ich nicht gekommen, Airblader. Vielen Dank an Dir und die Anderen! Manchmal sieht man vor lauter Walt die Bäume nicht.
|
Re: String in Integer wandeln.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:53 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