NSString に長整数値 (例: 2705758126 ) があります。
私はそれを表示しようとすると: NSLog(@"%i", [myValue integerValue]); 2147483647 が返されます。
この長い整数を表示、比較などする方法
NSString に長整数値 (例: 2705758126 ) があります。
私はそれを表示しようとすると: NSLog(@"%i", [myValue integerValue]); 2147483647 が返されます。
この長い整数を表示、比較などする方法
で試してみてください
NSLog(@"%lld", [myValue longlongValue]);
ドキュメントでは、NSIntegerとNSUIntegerにそれぞれ@ "%ld"と@ "%lu"を使用することを推奨しています。(intValueやlongLongValueなどではなく)integerValueメソッドを使用しているため、NSIntegerが返されます。
この例から、両方の方法で変換を確認できます。
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);