Einzelnen Beitrag anzeigen

Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#15

Re: Nach Dezimalzeichen (. oder ,) des Systems fragen. Wie?

  Alt 28. Mär 2008, 08:16
& 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;
  Mit Zitat antworten Zitat