2012-07-13 24 views
0

我創建了以下方法以安全地使用率。
(有時速率可能變得像INFINITY,NAN值無效,或超出0-1)Objective-C:將浮點值調整爲0-1的方法的名稱

-(double)XXXX:(double)rate 
    if (rate >= 1) { 
     return 1; 
    } else if (rate <= 0) { 
     return 0; 
    } else if (0 <= rate && rate <= 1) { 
     return rate; 
    } else { 
     return 0; 
    } 
} 

我應該怎麼命名這個方法?

編輯:
我用率來顯示的時間與UISlider,UIProgress,或者只是NString(XX%)進展。該方法的

用法是:

rate = [objectOrClass XXXX: currentTime/totalTime]; 
rate = [objectOrClass XXXX:(currentTime + additionalTime)/totalTime]; 

我還用它來從速度計算currentTime的:

currentTime = [objectOrClass XXXX:rate] * totalTime; 
+0

我是新來的objective-c。所以我不善於命名它的規則。 – 2012-07-13 10:27:30

+0

與您在其他語言中使用的名稱相同 - 指定此算法的用戶會怎樣稱呼它? – Mark 2012-07-13 10:29:52

+0

- (double)returnRate:(double)rate – Nitish 2012-07-13 10:30:40

回答

0
-(double) adjustRate:(double)rate; 
1
static inline float RateAligned(float rate) { 
    return MAX(.0f, MIN(1.0f, rate)); 
} 
+0

謝謝。我不知道「靜態內聯」。我測試了這個功能,它工作。我喜歡短代碼。但是MAX(.0f,NAN)返回0.0,但是MAX(NAN,.0f)返回NAN。假設'MAX(.0f,NAN)返回0.0「是否安全?或者它是否依賴於實現? – 2012-07-13 13:30:59

0
When totalTime is zero you will get INFINITY. 

When totalTime and currentTime both are zeros you will get NAN. 

When (currentTime + additionalTime) and currentTime both are zeros you will get NAN. 

我認爲這將是有益的您。

+1

我不認爲你已經理解了這個問題。 – 2012-07-13 12:23:41