2015-12-04 110 views
1

Caculate百分比,这是真的简单的数学问题,但我抓我的头在此。假设你有情景需要从10-20这样的范围内获得百分比值。即在10时,值为0.0,在20时为1.0。我需要这个非常简单的alghoritm。我可以使用夹来解决这个问题,但我想知道如果有一些非常干净的方式用简单的数学来做到这一点。简单的数学 - 从offseted范围

我不能改变的开始和结束的价值,因为他们都在为循环指标,所以我需要得到0所有的时间结果,当指数为0-10和10-20应该是0.0-1.0。

希望其明确的。谢谢你的帮助。我相信它的相当简单的事情,但不能想出一些漂亮干净的方式来做到这一点。

回答

0

对于startrange < =值< = endrange公式为:

double fraction = (value-startrange)/(endrange-startrange) 

否则分数= 0或1,这取决于是否值< startrange或值> endrange

0

这之间的简单线性插值问题10和20这样(我假设你使用C语言):

for (int i=0; i<=20; i++) 
{ 
    if(i>=10 && i<=20) 
    { 
     Result = 0.1*(i-10);   
    } 
    else 
    { 
     Result = 0.0; 
    } 
} 

我希望它可以帮助。