Gen*_*ain 5 objective-c nsstring ios
我有一个数字字符串,并观察到它intValue
与字符串值有很大不同的差异.代码如下:
NSString *string = [result objectForKey:@"id"];
NSLog(@"ID %@",string);
NSLog(@"ID as integer %i",[string intValue]);
Run Code Online (Sandbox Code Playgroud)
给出一个输出:
"ID 100004378121454"
"ID as integer 2147483647"
Run Code Online (Sandbox Code Playgroud)
我能做出的唯一合乎逻辑的猜测是,字符串太长而无法转换为int
...在任何情况下我都尝试过longLongValue
这样 - 对不同的结果而不是它应该是的结果.
ale*_*oot 14
您的数字(100004378121454)比简单的int可以处理的数字更大,long long
在这种情况下您必须使用类型(不要将您的数字截断为int32最大值):
NSString *string = @"100004378121454";
NSLog(@"ID %@",string);
NSLog(@"ID as long long %lli",[string longLongValue]);
Run Code Online (Sandbox Code Playgroud)
输出:
ID 100004378121454
ID as long long 100004378121454
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5880 次 |
最近记录: |