& was mache ich wenn
ich auf eine Benutzereingabe reagieren will?
FloatToStr(Edit.Text) wird wohl nicht gehen wenn der Anwender statt einem 12,3 ein 12.3 eingibt.
Genau für diesen Fall nehme ich die function.
Delphi-Quellcode:
function String_To_Double(Zahl : String) : Double;
begin
try
case DecimalSeparator of
'.' : Result := StrToFloat(StringReplace(Zahl, ',', DecimalSeparator, []));
',' : Result := StrToFloat(StringReplace(Zahl, '.', DecimalSeparator, []));
else Result := StrToFloat(FloatToStr(0.0));
end;
except
Result := StrToFloat(FloatToStr(0.0));
end;
end;
procedure TForm1.Edit1Exit(Sender: TObject);
begin
Edit1.Text := FormatFloat('0.00', String_To_Double(Edit1.Text));
end;
andernfalls müsste ich das so umsetzen:
Delphi-Quellcode:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
try
Edit1.Text := FormatFloat('0.00', StrToFloat(Edit1.Text));
except
Edit1.Text := FormatFloat('0.00', 0);;
end;
end;