作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何让结果显示每年以及每年的年终值?
double investment_decimal = Double.Parse(txtAmount.Text);
double rate_decimal = Double.Parse(txtRate.Text);
double years = Double.Parse(txtSlideValue.Text);
years = Convert.ToDouble(txtSlideValue.Text);
double calculation = 0;
//for loop
for (int i = 1; i < years + 1 ; i++)
{
calculation = investment_decimal * Math.Pow((1 + rate_decimal / years), (i));
txtCalculation.Text = Convert.ToString("Year " + i.ToString() +"\t" + "Year End Value " + calculation.ToString("C")).PadRight(10);
}
最佳答案
在让 UI 刷新之前,您的代码对 UI 元素的文本进行了多次分配。这就是为什么只有最后一项保持可见;当您通过循环时,其余的将被覆盖。
您应该准备一个与文本框中的整个字符串相对应的字符串,并一次性将其放入txtCalculation.Text
中:
StringBuilder sb = new StringBuilder();
for (int i = 1; i < years + 1 ; i++)
{
calculation = investment_decimal * Math.Pow((1 + rate_decimal / years), (i));
sb.AppendFormat("Year {0}\tYear End Value {1:C}\n", i, calculation);
}
txtCalculation.Text = sb.ToString();
请注意使用 AppendFormat
代替具有多个值的字符串连接运算符 +=
。如果您想创建一个字符串,而不是附加到 StringBuffer
,您可以使用 string.Format
或 C# 6 的内插字符串。
关于c# - For 循环仅显示最后一个循环 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49138279/
我是一名优秀的程序员,十分优秀!