Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - kleiner prozent rechner mit komma


manta656 - Di 17.03.09 21:45
Titel: kleiner prozent rechner mit komma
moin , ich habe irgendwie nichts gefunden , was ich hier einsetzen soll , damit er den Komma oder . als komma erkennt , und das Ergebnis auch als Komma Zahl ausgibt.mache einen ganz kleinen prozent Rechner , und da kommen dan halt manchmal komma Zahlen vor also so :



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
var
 zahl1, zahl2, ergebnis, zw: real;
begin
  zahl1:=StrToInt(Edit1.Text);
  zahl2:=StrToInt(Edit2.Text);
  zw:=zahl1/zahl2;
  ergebnis:=zw*100;
  Edit3.Text:=FloatToStr(ergebnis);
end;


Wenn ich zum Beispiel ins Erste Feld 20.14 oder 20,14 eingebe und ins zweite Feld 200 , dan sagt der mit , dass ich nicht mit Komma/Punkt rechnen kan. Wie kan ich das ändern und dass dan auch das Resultat einen Komma enthält , also das wird dan 10.57 oder 10,57
Am besten noch , dass er automatisch das '%' mit in dem Resultat anzeigt ;)


Xentar - Di 17.03.09 21:48


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
var
 zahl1, zahl2, ergebnis, zw: real;
begin
  zahl1:=StrToInt(Edit1.Text);
  zahl2:=StrToInt(Edit2.Text);
  zw:=zahl1/zahl2;
  ergebnis:=zw*100;
  Edit3.Text:=FloatToStr(ergebnis);
end;


Vergleich mal die beiden markierten Bereiche, und überleg, warum du keine Kommazahlen eingeben kannst..

zu der zweiten Frage: das % einfach anhängen?  + ' %';


manta656 - Di 17.03.09 21:53

Huch ja ^^ omfg... und dass er den Punkt '.' erkennt ? Den jetzt nimmt der bei mir jedoch 'nur' den Komma ?


FinnO - Di 17.03.09 21:57

du kannst punkt vorher durch komma ersetzen


Delphi-Quelltext
1:
Edit.Text := StringReplace(edit.Text,'.',',',rfReplaceAll)                    


ffgorcky - Di 17.03.09 22:51

Wobei ich da dann ein Problem bei den Usern sehe, die den 1.000-er Punkt gewöhnt sind...
Aber ansonsten sieht mir das schon gut aus!