Obliczanie kwoty rabatu błąd przy podaniu rabatu z ułamkiem

0

Wszystko działa tylko jeśli podaje liczby całkowite w pole.

 label5.Text = (Convert.ToDouble(textBox1.Text) * Convert.ToDouble(textBox2.Text) /100).ToString();

Co trzeba zrobić żeby w pole textBox2 czyli % rabatu można było wpisywać ułamki np 7.5% ?

0

7.5% nie jest liczbą, to jakiś tekst ze śmiesznym symbolem na końcu. Jeśli chcesz to zmienić na liczbę, to musisz znak procenta usunąć, i dopiero konwertować na liczbę.
Musisz też pamiętać, że 7.5 nie jest poprawnie zapisaną liczbą dla Polski, bo u nas separatorem dziesiętnym jest przecinek. Jeśli mimo wszystko chcesz konwertować liczby z kropką, to lepiej zamiast Convert.ToDouble użyć metody double.Parse(textBox.Text, CultureInfo.InvariantCulture).

0

Jezu człowieku chce wpisać 7.5 w pole textBox2 zobacz na kod. Rabat oblicz a się tak: 1000zł x15/100= 150zł

Dobra inaczej. Jak się zabezpieczyć przed tym żeby ktoś nie wpisał 7.5 tylko 7,5

0

Można użyć TryParse

if (!double.TryParse("7.5", out x))
    MessageBox.Show("Złe dane");

1 użytkowników online, w tym zalogowanych: 0, gości: 1