2011-08-30 85 views
0

這對我來說有點奇怪,但是當我在float上進行基本劃分時,我會得到不準確的近似值。這並不是什麼大問題,因爲我可以截斷這個數字,但我只是好奇爲什麼NSNumbers會這樣。包括示例代碼...當使用核心數據檢索時,NSNumbers是不準確的

NSString *stringNumber = @"2782"; 
float ratio = [stringNumber floatValue]/10000; 
NSNumber *sizeRatio = [NSNumber numberWithFloat:ratio]; 

//core data save... 

後續加載上讀取數:0.2782000005245209

任何想法?因爲它使顯示我結果「數字」,而不是「NSNumber的」

+1

它與NSNumber和一切做浮點數無關。 –

回答

4

這是正常的,任何浮點數

wikipedia entry

+0

近似雜亂的數字我可以理解這一點,但簡單地除以10000似乎有點愚蠢。 – pir800

+0

@pir萬位二進制是10011100010000二進制 - 不是這樣一個整數 –

0

原來使用花車結果谷歌一直沒有很大的幫助在iOS上的結果相當不準確。我使用雙打取得了更好的成功。

+0

謝謝我會嘗試雙打 – pir800

+3

這就是雙打的原因。這都是浮點計算。 iOS沒有什麼特別之處。 –