Nie mogę wiarygodnie przekonwertować dłużej NSString
na NSNumber
. W szczególności przekształcam MPMediaEntityPropertyPersistentID
jako ciąg znaków na NSNumber
Czasami to działa, zwykle nie.Konwertuj długie NSString na numer NSNumber
kod konwersji:
NSString *keke = [jsonArray objectForKey:@"next"];
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *persistentIDasNumber = [f numberFromString:keke];
Oto przykład udanego ciąg do zamiany liczb:
String: 3813955856659208324
Number: 3813955856659208324
I tu jest nieudana konwersja:
String: 12790162104953153719
Number:1.279016210495315e+19
Jest blisko, ale co się dzieje na końcu? Czy jest zbyt duży?
Czy to musi być numer NSNumber? czy może to int lub unsigned int lub float? – CaptJak
Myślę, że musi to być 'NSNumber', ponieważ funkcja odtwarzacza multimedialnego to bierze. Jednak jeśli możesz publikować konwersje liczb całkowitych, mogę wypróbować te w odtwarzaczu multimedialnym. –
dobrze zrobić int będzie "NSString * string = @" 5 "; int value = [string intValue]; ' – CaptJak