'' is not a valid floating value

'' is not a valid floating value
0

witam! moze to bedzie smieszne pytanie dla niektorych, ja jednak mam z tym dosc duzy problem=/ przeszukalem forum, jesli gdzies byl o tym temat to sor ze powtarzam - mozliwe ze przeoczylem.

Moj problem polega na tym, ze jesli uzytkownik zostawi puste pola edit i wcisnie przycisk, ktory jest odpowiedzialny za pewne obliczenia i ma pobierac dane wlasnie z tych pol edit, to wyskakuje blad '' is not a valid floating value ;/ Wie ktos moze jak temu zaradzic? prosze o wyrozumialosc, ale jestem poczatkujacy:) pozdrawiam i z gory dziekuje za wszelka pomoc!

edytowany 1x, ostatnio: olesio
berl
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 10 lat
0

w procedurze obsługi przycisku :
if Edit1.Text = '' then Exit;
:).


Słowa kierownika : To, jak wy zdążycie to napisać, to ja mam w szeroko rozumianej du*ie.
http://project1.pl
0

dziekuje bardzo:)

Szymek
  • Rejestracja:ponad 22 lata
  • Ostatnio:prawie 3 lata
0

Zawsze możesz użyć

Kopiuj
Try

Except

End;

przy konwertowaniu tekstu na liczbę. Wtedy jak ktoś wpisze coś innego, możesz wyświetlić stosowny komunikat.

0

W pustych Editach można z góry w kodzie podać 0 (zero) w zakładce Properties.
To nie będzie już błędu takiego :) Można jeszcze blokowac button od obliczeń jeśli nie ma nic w Editach itd.

HE
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 3 lata
0
Kopiuj
var 
  kod: Integer;
  liczba: Double;
begin
  Val(Edit.Text,liczba,kod); // Konwersja tekstu na liczbę
  if kod<>0 then begin // Nieliczba
    Application.MessageBox('To nie jest liczba','Błąd',MB_OK); // komunikat o błędzie
    Exit;
  end;
  wykonaj_obliczenia;
end;
HE
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 9 lat
  • Postów:12
0

Także mam problem z tym komunikatem, może ktoś powie mi co mogę na to poradzić...;) Wpisuje w okienko Edit liczbę >1000 i wyskakuje error " '1 000,00' is not a valid floating point value".

Według mnie problem leży przy przypisaniu wartości do zmiennej oczywiście zmienna typu REAL.

Kopiuj
Stawka1 := StrToFloat(Edit1.text);

Ma ktoś pomysł co na to poradzić? Co robię źle?

msm
Co robię źle? - Odkopujesz wątek sprzed 8 lat, to na pewno. Zakładaj po prostu nowy...
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

Spróbuj ustawić DecimalSeparator (bądź bodajże DefaultFormatSettings.DecimalSeparator jakby się czepiało, że jest deprecated) na ., ciężko coś więcej powiedzieć.
Najlepiej załóż nowy temat i opisz dokładniej swój problem.


Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.