Ich möchte den vorzeichenlosen langen Wert einer NSNumber erhalten. Ich weiß nicht warum, aber es funktioniert nicht. Hier ist, was ich getan habe:Kann den vorzeichenlosen langen Wert einer NSNummer nicht erhalten
NSString * stern = [idd objectAtIndex:indexPath.row]; // get a String with Number from a NSArray
NSNumberFormatter * lols = [[NSNumberFormatter alloc] init];
NSNumber * iddd = [lols numberFromString:stern];
NSLog(@"%@", iddd); // I get the right number: 8084143463
unsigned long fooo = [iddd unsignedLongValue];
NSLog(@"%lu", fooo); // I get the wrong number: 3789176167
[twitterEngine deleteUpdate:fooo];
Wie sehen die Werte im Debugger aus? Sind sie das Gleiche wie was gedruckt wird? –
Für was es wert ist, am 10.6.2, bekomme ich 8084143463 beide Male, und die Debugger-Werte sind konsistent. Ich würde vorschlagen, Ihre erste Zeile durch 'NSString * stern = @" 8084143463 ";' zu ersetzen und die Variablen umzubenennen, um für den zufälligen Beobachter Sinn zu ergeben. –
Ja, die NSNummer ist 8084143463 und die unsigned lange 3789176167 – Flocked