价格根据日期中的天数递增和递减

时间:2018-10-13 12:29:01

标签: c# algorithm datetime

我正在编写一个简单的代码来计算租金。我的代码(理论上)应该像这样工作:

基本价格= 300(7天) 而当用户将天数从7天增加到10天(例如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 :(得分:1)

首先,我会尝试使用十进制类型而不是整数。

第二,尝试以不同的方式处理逻辑。尝试根据其他天数计算价格。下面的代码尚未准备好,它需要从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);
            }

答案 1 :(得分:0)

您要这样做吗?

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();