为了调整字体大小,我需要计算范围内开始和结束之间的步骤。
鉴于:
Start Value: 14.0,
End Value: 250.0,
Steps: 28
Resulting Values: 14.0, 15.5, 17.1, 18.9, ... 204.9, 226.3, 250.0
10.45%
我通过添加到前一个值(基于反复试验)来计算每个值,但我如何计算这个百分比?
猜测这里可以使用一些复利类型的函数。
公式或伪代码很好。
最终,这将是一个 C#。
EndValue = StartValue * ( ( 1 + Percentage ) ^ NumberOfSteps )
是您需要的基本公式。
如果你知道NumberOfSteps
并且你想要Percentage
,一点代数就会得到公式(伪代码,^
是指数运算符):
EndValue / StartValue = ( 1 + Percentage ) ^ NumberOfSteps
(EndValue / StartValue) ^ (1 / NumberOfSteps) = 1 + Percentage
Percentage = ( (EndValue / StartValue) ^ (1 / NumberOfSteps) ) - 1
如果您知道Percentage
并且想要NumberOfSteps
,最好使用循环
int NumberOfSteps = 0;
for(double i = StartValue; i < EndValue; i *= (1 + Percentage))
{
++NumberOfSteps;
}
Ce^(kt) 是数学中的复利利率本金。其中 C 是初始量,e 是常数 e= 2.71828.... 它就像 pi;k 是百分比,t 是时间。如果您想要百分比,则使用 Ce^(kt) 向后工作以获得 K 值。