• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Sprawdzanie, czy w polu TextBox jest double

Object Storage Arubacloud
0 głosów
601 wizyt
pytanie zadane 30 maja 2015 w C i C++ przez Waszek Gaduła (4,130 p.)

Witajcie :)

Robię aplikację okienkową, w której potrzebuje wczytać liczbę typu double. Chcę sprawdzić, czy użytkownik podaje rzeczywiście liczbę. Aplikację pisze w Visual Studio 2013 w języku C++. 

System::Convert::ToDouble(TextBoxData1)

Niestety nie wiem, jak się nazywa metoda, która może sprawdzić, czy konwersja się powiodła ;)

Proszę o szybką pomoc! :)

1 odpowiedź

0 głosów
odpowiedź 30 maja 2015 przez Waszek Gaduła (4,130 p.)

Ok, już działa, dla potomnych kod:

private: System::Void TextBoxData1_TextChanged(System::Object^  sender, System::EventArgs^  e) {

	System::Double liczba;

	if (!System::Double::TryParse(TextBoxData1->Text->ToString(), liczba))
	{

		MessageBox::Show("Podaj liczbę!");
		TextBoxData1->Clear();

	}

}

Tylko dwa razy zawsze wyskakuje MessageBox. Ktoś wie może czemu? Domyślam się, że jest to związane z czyszczeniem TextBox, ale nie wiem jak to przeskoczyć ;)

komentarz 30 maja 2015 przez niezalogowany
A spróbuj najpierw wyczyścić TextBox, a potem wyświetlić MessageBox.
komentarz 30 maja 2015 przez Waszek Gaduła (4,130 p.)
Próbowałem w obie strony ;)
komentarz 30 maja 2015 przez niezalogowany
if (!System::Double::TryParse(TextBoxData1->Text->ToString(), liczba) && TextBoxData1->Text != null)
    {
        MessageBox::Show("Podaj liczbę!");
        TextBoxData1->Clear();
    }

Nie wiem jak w C++ sprawdzić, czy pole jest puste, ale dodaj właśnie taki warunek w if-statement

komentarz 30 maja 2015 przez Waszek Gaduła (4,130 p.)
O matko no tak... o najprostszym zapomniałem, dzięki wielkie :) to jest takie podstawowe, że na to nie wpadłem ;P Najprostsze jest najtrudniejsze :)

P. S. NULL należy zastąpić "" :)
komentarz 30 maja 2015 przez niezalogowany
Najciemniej pod latarnią - jak to mówią. Sam tego na pierwszy rzut oka nie zauważyłem.
komentarz 30 maja 2015 przez Waszek Gaduła (4,130 p.)
Witajcie,

mam problem jeszcze z tym, że to aż za fajnie działa, mianowicie nie da się wpisać liczby ujemnej. Jak to ominąć?
komentarz 30 maja 2015 przez Waszek Gaduła (4,130 p.)

Nie ważne, naprawione:

if (TextBoxData1->Text->ToString() != "-")
	{
		if (!Double::TryParse(TextBoxData1->Text->ToString(), liczba) && TextBoxData1->Text != "")
		{
			TextBoxData1->Clear();
			MessageBox::Show("Podaj liczbę!");


		}
	}

 

Podobne pytania

0 głosów
2 odpowiedzi 1,060 wizyt
pytanie zadane 14 kwietnia 2019 w C i C++ przez linq Początkujący (420 p.)
0 głosów
0 odpowiedzi 303 wizyt
0 głosów
2 odpowiedzi 1,367 wizyt
pytanie zadane 13 sierpnia 2019 w C i C++ przez Mavimix Dyskutant (8,390 p.)

92,555 zapytań

141,402 odpowiedzi

319,544 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...