我試圖將double
的值轉換爲int
,我得到了不同的值。意外的結果轉換爲int的兩倍
我有這樣的代碼:
double double100times = 240;
int a=[[NSNumber numberWithDouble:double100times] intValue];
和價值,我從這個a=239
得到。
如果我使用int a= (int)double100times
,我會得到相同的值。
這是爲什麼?
更新:如果我使用double double100times = 240;作品, 但我使用:
double double100times = (2.3*100)+10;
查找IEEE浮點維基百科的文章和研究它,尤其是一部分,他們解釋說,最值沒有一個確切的浮點表示。 – 2013-02-11 12:55:58