2012-07-30 52 views
1
double test1 = 5.58f; 

NSString *test2 = @"5.58"; 

NSLog(@"%@", [NSNumber numberWithDouble:test1]); 

NSLog(@"%@", [NSNumber numberWithDouble:[test2 doubleValue]]); 

輸出:關於NSNumber的numberWithDouble

5.579999923706055

5.58

爲什麼轉換爲區別?

回答

3

可能是由於5.58f是float而不是double

+0

如何寫一個雙重字面? – Thilo 2012-07-30 03:49:37

+1

double test1 = 5.58l; – 2012-07-30 04:02:26

+2

'5.58l'是一個長雙,而不是雙。雙倍只是'5.58'沒有後綴。 – borrrden 2012-07-30 05:29:12