我有一个数字字符串,并且观察到其差异性,它的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吗?你可能想要查询这个类。 –