Hmm, also erstmal denk ich das "+0" kannst du dir schenken *lol*
Delphi-Quelltext
1: 2: 3: 4:
| if (edit1.text='') then edit1.text:='0'; a:=strtofloat(edit1.text) * 10; edit1.text:=floattostr(a) + ','; end; |
so sollte das doch gehn oder?
Aber so hast du das Komma nur am Ende...
Ich würd da mit TStringList arbeiten, dann kannst das Komma auch in der Mitte rausholen...
Beispiel-Prozedur:
Du willst zwei Zahlen Addieren....
Zwei Edits, ein + Button:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TForm1.Button1Click(Sender: TObject); var z : TStringList; n1,n2,n: Integer; t1,t2: String; begin z := TStringList.Create; z.Delimiter := ','; z.DelimitedText := edit1.Text; n1 := Length(z[1]); t1 := z[0] + z[1]; z.Free;
z := TStringList.Create; z.Delimiter := ','; z.DelimitedText := edit2.Text; n2 := Length(z[1]); t2 := z[0] + z[1]; z.Free;
if (n1 > n2) then n := n1 else n := n2; edit3.Text := FloatToStr((StrToInt(t1) + StrToInt(t2)) / power(10,n) ); end; |
Math einbinden nicht vergessen bei den Uses...
Aber vielleicht wär's tausend mal einfach wenn du das Komma einfach durch nen Punkt ersetzt? *g*
Damit kann Float nämlich umgehen...
Aber ich hab die Prozedur trotzdem mal geschrieben... warum auch nich *lol* hab ja sonst nix zu tun
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten. (Voltaire)