C# 带复合区间的数的范围
为了调整字体大小,我需要计算一个范围内开始和结束之间的步长 鉴于:C# 带复合区间的数的范围,c#,math,gdi+,C#,Math,Gdi+,为了调整字体大小,我需要计算一个范围内开始和结束之间的步长 鉴于: 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#。Ce^(kt)是数学中的
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#。Ce^(kt)是数学中的复合利率原则。其中C为初始量,e为常数e=2.71828。。。。它就像圆周率;k是百分比,t是时间。如果您想要百分比,则向后使用Ce^(kt)获得K值
EndValue = StartValue * ( ( 1 + Percentage ) ^ NumberOfSteps )
是您需要的基本配方
如果您知道NumberOfSteps
并想要百分比
,则需要一点代数知识才能得到公式(伪代码,^
是指数运算符):
如果您知道百分比
,并且想要NumberOfSteps
,那么最好使用循环
int NumberOfSteps = 0;
for(double i = StartValue; i < EndValue; i *= (1 + Percentage))
{
++NumberOfSteps;
}
int NumberOfSteps=0;
对于(双i=起始值;i<结束值;i*=(1+百分比))
{
++步数;
}
您能否提供您当前尝试的代码示例?您知道步骤数并需要百分比,还是知道百分比并需要步骤?我有步骤,但需要计算百分比。太棒了。看起来“步骤”应该是“步骤-1”,但这是可行的。百分比=((EndValue/StartValue)^(1/NumberOfSteps-1))-1
int NumberOfSteps = 0;
for(double i = StartValue; i < EndValue; i *= (1 + Percentage))
{
++NumberOfSteps;
}