Увеличение и уменьшение цены в соответствии с днями в datetime - PullRequest
0 голосов
/ 13 октября 2018

Я пишу простой код для расчета стоимости аренды.Мой код должен работать так (теоретически):

Базовая цена = 300 (это на 7 дней), и когда пользователь увеличивает количество дней с 7 до, например, на 10, цена увеличивается, а когда они снова уменьшаются с 10 до 8снижение цены.

Я делаю это с компонентом даты и времени в форме C # windows

Мой код:

int baseprice = Convert.ToInt32(label21.Text);
int price = days * baseprice* 0.3;
if (days >= 7)
{

    int totalprice = baseprice + price;
    label21.Text = Convert.ToString(totalprice);
}

Этот код работаетно оно всегда увеличивается, а не уменьшается, когда уменьшаются дни

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Во-первых, я бы попытался использовать десятичный тип вместо целого.

Во-вторых, попытаться по-другому подойти к логике.Попробуйте рассчитать цену исходя из количества дополнительных дней.Код ниже не готов, ему нужна переменная, взятая из UserInput.

int baseprice = Convert.ToInt32(label21.Text);

        decimal unit_cost= baseprice/7;
        decimal price = days *unit_cost;       
        int additional_days =  3; // use some variable input from user so it would be dynamic

            if (days >= 7)
            {

                int totalprice = baseprice + unit_cost * additonal_days
                label21.Text = Convert.ToString(totalprice);
            }
0 голосов
/ 13 октября 2018

Вы хотите сделать это?

int price = days * baseprice * 0.3;
int totalprice = baseprice + (days >= 7 ? price : 0);
label21.Text = totalprice.ToString();

или это?

int totalprice = (int)(days * baseprice / 7f);
label21.Text = totalprice.ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...