Tôi không thể chuyển đổi một cách đáng tin cậy dài hơn NSString
thành NSNumber
. Cụ thể, tôi đang chuyển đổi MPMediaEntityPropertyPersistentID
thành chuỗi thành NSNumber
Đôi khi nó hoạt động, thường thì không.Chuyển đổi NSString dài thành NSNumber
đang chuyển đổi:
NSString *keke = [jsonArray objectForKey:@"next"];
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *persistentIDasNumber = [f numberFromString:keke];
Dưới đây là một ví dụ về một chuỗi thành công để chuyển đổi số:
String: 3813955856659208324
Number: 3813955856659208324
Và đây là một chuyển đổi không thành công:
String: 12790162104953153719
Number:1.279016210495315e+19
Đó là gần nhưng những gì đang xảy ra ở cuối? Nó có quá lớn không?
Nó có phải là NSNumber không? hoặc nó có thể là int hay unsigned int hay float? – CaptJak
Tôi nghĩ rằng nó phải là một 'NSNumber' khi chức năng trình phát đa phương tiện thực hiện điều đó. Tuy nhiên nếu bạn có thể gửi số nguyên chuyển đổi tôi có thể thử những người trong các phương tiện truyền thông máy nghe nhạc. –
cũng để làm int sẽ là 'NSString * string = @" 5 "; int value = [string intValue]; ' – CaptJak