Я не могу надежно конвертировать дольше NSString
в NSNumber
. В частности, я преобразовываю MPMediaEntityPropertyPersistentID
как строку в NSNumber
Иногда это работает, обычно это не так.Преобразование длинного NSString в NSNumber
код преобразования:
NSString *keke = [jsonArray objectForKey:@"next"];
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *persistentIDasNumber = [f numberFromString:keke];
Вот пример успешной строки для преобразования номера:
String: 3813955856659208324
Number: 3813955856659208324
А вот неудачная преобразование:
String: 12790162104953153719
Number:1.279016210495315e+19
Это близко, но что происходит в конце? Он слишком велик?
Должно ли это быть NSNumber? или может быть int или unsigned int или float? – CaptJak
Я думаю, что это должен быть «NSNumber», поскольку функция медиаплеера принимает это. Однако, если вы можете отправлять целые конверсии, я могу попробовать их в медиаплеере. –
хорошо сделать int будет 'NSString * string = @" 5 "; int value = [string intValue]; ' – CaptJak