首页 > 解决方案 > C#如何使用带有来自TextBox的百分比的while循环

问题描述

我一直在从我的编程书中寻找一种方法来做这个小练习,但我无法思考如何做到这一点。

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

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 个小时,而且我没有得到任何结果,所以我希望有人可以帮助我更清楚地看到这个问题。提前谢谢各位!

标签: c#

解决方案


请检查此代码:

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 作为计算值。


推荐阅读