2015-05-21 72 views
0

我有一個關於CGRect範圍的問題iOS Objctive-C浮點範圍

我需要在CGRect中保存大量數據。我有一個浮動聲明:

float xLowerValue = ((self.bounds.size.width - lowerHandleWidth) * (_lowerValue - _minimumValue)/(_maximumValue - _minimumValue))+(lowerHandleWidth/2.0f); 

它的值是:

2015-05-21 17:10:01.967 ILG-Scouting Munster[5751:184222] self.bounds.size.width = 300; 
2015-05-21 17:10:01.967 ILG-Scouting Munster[5751:184222] lowerHandleWidth = 0; 
2015-05-21 17:10:01.968 ILG-Scouting Munster[5751:184222] _lowerValue = 100; 
2015-05-21 17:10:01.968 ILG-Scouting Munster[5751:184222] _minimumValue = 4.547124e+08; 
2015-05-21 17:10:01.968 ILG-Scouting Munster[5751:184222] _maximumValue = 4.547124e+08; 

有了這些價值觀,我得到xLowerValue值等於-Inf

我怎樣才能避免這種情況?

+1

爲了避免這種情況,不要在0處分割。 –

回答

2
  1. 確保你永遠不會爲零
  2. this page分,值象下面這樣:

enter image description here

1

您的最小值和最大值是相同的,因此,你最終將通過零。除以0得出Inf(無窮大)的結果。

通過正確初始化您_minimumValue_maximumValue,使他們有適當的和不同的值修正問題。