C # скидка на радио кнопки - PullRequest
0 голосов
/ 11 мая 2019

Мне нужно создать членство, которое дает пользователю ряд вариантов на выбор. Один из вариантов дает им скидку от общей стоимости оплаты: 0%, 2% или 5%. По какой-то причине мой код C # помещает 0% в текстовое поле общей скидки.

C #:

Int discount = 0;
If(basicradiobt.checked)
 Discount *= 0;
If (regularradiobt.checked)
Discount *=2;
If (premiumradiobt.checked) 
Discount *=5;
Totaldiscounttxtbx.text = discount.tosting();

1 Ответ

0 голосов
/ 11 мая 2019

У вас есть две ошибки:

  1. Вы объявляете переменную discount, затем используете ее как Discount. Поскольку C # чувствителен к регистру, они рассматриваются как две отдельные переменные;
  2. Вы объявляете переменную discount, инициализируя ее с 0. Предположим, что вы исправили ошибку выше, вы умножаете ее значение (0) на 0, 2 или 5 соответственно. Любое число, умноженное на 0, равно 0.

И я думаю, что в строке

Totaldiscounttxtbx.text = discount.tosting();

Вы на самом деле имели в виду

Totaldiscounttxtbx.text = discount.tostring();

Позже отредактируйте, учитывая ваши комментарии : если вы просто хотите отобразить значение скидки, вы можете сделать что-то вроде этого:

int discount;
if (basicradiobt.Checked) discount=0;
if (regularradiobt.Checked) discount=2;
if (premiumradiobt.Checked) discount=5;
totaldiscounttxtbx.text=discount.tostring();

Если вас интересует окончательная цена, после применения скидки , попробуйте следующее:

float startingprice;
if (basicradiobt.Checked) startingprice*=1;;
if (regularradiobt.Checked) startingprice*=0.98;
if (premiumradiobt.Checked) startingprice*=0.95;
totaldiscounttxtbx.text=startingprice.tostring();

(Поскольку я печатал быстро, я не беспокоился о чувствительности к регистру. Но у меня также нет компилятора на спине.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...