我有一個數字字符串,並且觀察到其差異性,它的intValue
與字符串值有很大的不同。下面的代碼:- [NSString intValue]返回的值完全不同於字符串
NSString *string = [result objectForKey:@"id"];
NSLog(@"ID %@",string);
NSLog(@"ID as integer %i",[string intValue]);
給出了一個輸出:
"ID 100004378121454"
"ID as integer 2147483647"
唯一合乎邏輯的猜測,我可以做的是,該字符串是太長,無法轉換爲int
......在我嘗試任何情況下, longLongValue
等 - 對不同的結果,但不是它應該的。
你是對的,你到達32位int的極限,但longlongValue應該工作。那麼結果是什麼? –
嘗試使用無符號int(u_int32最大值9,223,372,036,854,775,808) –
你知道'string'實際上是一個NSString並且沒有一個NSNumber嗎?你可能想要查詢這個類。 –