C#如何与文本框中的百分比一起使用while循环

时间:2018-11-23 12:27:52

标签: c#

我一直在从编程书中寻找一种方法来做这个小练习,但是我不知道该怎么做。

这是我到目前为止所拥有的:

private void btnDisplay_Click(object sender, EventArgs e)
{
    int numOrg = Convert.ToInt32(txtNumOrg.Text); 
    double numberToConvert = Convert.ToDouble(txtDailyIncrease.Text); // percent

    double convertToDecimal = (numberToConvert / 100);

    while (numOrg <= 10)
    {
        lstDisplay.Items.Add(numOrg + "   " + convertToDecimal  );  
        numOrg++;
    }
}

对于我使用的值:numOrg为2,numberToConvert为30%。

预期输出应为:2.6000、3.3800、4.3940等。

我只想每天增加一个数字。我肯定完成了这个简单的任务,但是我已经花了7个小时了,而且我什么都没走,所以我希望有人可以帮助我更清楚地了解这个问题。预先感谢大家!

2 个答案:

答案 0 :(得分:2)

请检查此代码:

static void Main(string[] args)
    {
        var numOrg = 2;
        var percentage = 0.3;
        var result = (double)numOrg;
        while (numOrg <= 10)
        {
            result += percentage * result;
            Console.WriteLine($"{numOrg}: {result}");
            numOrg++;
        }

        Console.ReadKey();
    }

它产生预期的结果:

2: 2,6
3: 3,38
4: 4,394
5: 5,7122
6: 7,42586
7: 9,653618
8: 12,5497034
9: 16,31461442
10: 21,208998746

我不知道您的代码背后的确切逻辑。也许您应该从1循环到终止值,并仅将numOrg用作计算值。

答案 1 :(得分:0)

尝试

 private void btnDisplay_Click(object sender, EventArgs e)
        {
            int numOrg = Convert.ToInt32(txtNumOrg.Text);
            double numberToConvert = double.Parse(txtDailyIncrease.Text); // percent

            double convertToDecimal = (numberToConvert / 100);

            var result = double.Parse(txtNumOrg.Text);

            while (numOrg <= 10)
            {
                result += convertToDecimal * result;
                lstDisplay.Items.Add(result);

                numOrg++;
            }



        }

enter image description here