我有一个NSNumber funds
。当我这样做时:
NSLog(@"%@ %i", funds, [funds integerValue]);
我明白了:
4869222353 574255057
完全不同的数字。第一个是正确的,所以将它转换为整数肯定有问题。我做错了什么?
感谢。
答案 0 :(得分:4)
示例代码:
NSNumber *myNum = [NSNumber numberWithLongLong:4869222353];
NSLog(@"%@ %lld",myNum,[myNum longLongValue]);
答案 1 :(得分:3)
你有溢出。整数是32位长并且是有符号的,因此最大值是2147483647.打印NSNumber以正确的方式执行(可能使用long)。