valor inteiro longo Objective-C
-
18-09-2019 - |
Pergunta
Eu tenho valor inteiro longo (ex: 2705758126). Em NSString
Quando tento mostrar isso: NSLog (@ "% i", [myValue integerValue]); -lo retornar:. 2147483647
Como mostrar, comparar e etc. esta longo inteiro
Solução
Tente com
NSLog(@"%lld", [myValue longlongValue]);
Outras dicas
A documentação recomenda usando @ "% ld" e @ "% lu" para NSInteger e NSUInteger, respectivamente. Desde que você está usando o método integerValue (em oposição a intValue ou longLongValue ou qualquer outro), que estará retornando um NSInteger.
Você deve ter um olhar para Apple documentação. NSString tem o seguinte método:
- (long long)longLongValue
O que deve fazer o que quiser.
a partir deste exemplo aqui, você pode ver as conversões nos dois sentidos:
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);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow