我无法可靠地将较长的NSString
转换为NSNumber
。具体来说,我正在将作为字符串的MPMediaEntityPropertyPersistentID
转换为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
,因为媒体播放器函数需要它。但是,如果您可以发布整数转换,我可以尝试在媒体播放器中使用它们。 - john csNSString *string = @"5"; int value = [string intValue];
。 - CaptJak在 ARC 模式下不允许将 int 隐式转换为 id
。 - john cs