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

Foi útil?

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
scroll top