numero intero lungo obiettivo-c
-
18-09-2019 - |
Domanda
Ho valore intero lungo (es: 2.705.758,126 mila). In NSString
Quando provo a mostrare: NSLog (@ "% i", [myValue integerValue]); esso ritorno:. 2147483647
Come mostrare, confrontare e ecc questa lunga intero
Soluzione
Prova con
NSLog(@"%lld", [myValue longlongValue]);
Altri suggerimenti
La documentazione raccomanda utilizzando @ "% ld" e @ "% lu" per NSInteger e NSUInteger, rispettivamente. Dal momento che si sta utilizzando il metodo integerValue (al contrario di intValue o longLongValue o qualsiasi altra cosa), che tornerà un NSInteger.
Si dovrebbe avere uno sguardo a Apple documentazione . NSString ha il seguente metodo:
- (long long)longLongValue
Che dovrebbe fare quello che vuoi.
da questo esempio qui, è possibile vedere le conversioni in entrambe le direzioni:
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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow