7

NSString に長整数値 (例: 2705758126 ) があります。

私はそれを表示しようとすると: NSLog(@"%i", [myValue integerValue]); 2147483647 が返されます。

この長い整数を表示、比較などする方法

4

4 に答える 4

23

で試してみてください

NSLog(@"%lld", [myValue longlongValue]);
于 2009-07-18T14:44:33.160 に答える
4

ドキュメントでは、NSIntegerとNSUIntegerにそれぞれ@ "%ld"と@ "%lu"を使用することを推奨しています。(intValueやlongLongValueなどではなく)integerValueメソッドを使用しているため、NSIntegerが返されます。

于 2009-07-18T14:56:20.567 に答える
2

Appleのドキュメントをご覧ください。NSStringには次のメソッドがあります。

- (long long)longLongValue

どちらがあなたが望むことをするべきです。

于 2009-07-18T16:03:07.380 に答える
1

この例から、両方の方法で変換を確認できます。

NSString *str=@"5678901234567890";

long long verylong;  
NSRange range;  
range.length = 15;  
range.location = 0;  

[[NSScanner scannerWithString:[str substringWithRange:range]] 
       scanLongLong:&verylong];

NSLog(@"long long value %lld",verylong);
于 2010-10-23T02:28:05.133 に答える