這可能很簡單,但我沒有得到我期待的結果。我道歉,如果這是一個愚蠢的問題,我只是不知道谷歌。解釋有關將float分配給int的簡單問題
最簡單的方法是用一些代碼:
int var = 2.0*4.0;
NSLog(@"%d", 2.0*4.0);//1
NSLog(@"%d", var);//2
if ((2.0*4.0)!=0) {//3
NSLog(@"true");
}
if (var!=0) {//4
NSLog(@"true");
}
這將產生以下的輸出:
0 //1
8 //2
true //3
true //4
,我不明白的是線//1
的一個。爲什麼所有其他的轉換(我假設正確的詞是「鑄造」,請糾正我,如果我錯了)浮動到一個int,但在NSLog裏面它沒有發生。這是否與字符串格式%d
參數有關,它很模糊(缺少更好的單詞)?
是。 '%d'表示「小數」,而不是「雙」。 – 2010-09-13 22:59:30
或'%g',智能地選擇固定小數和科學格式。 – Potatoswatter 2010-09-13 23:00:03