J'ai vu un code qui essayait de formater les coordonnées de latitude et de longitude en utilisant le NSNumberFormatter suivant.
NSNumberFormatter * sut = [[NSNumberFormatter alloc] init];
[sut setMaximumFractionDigits:20]; // also tried set to 15 or 16, not working too.
[sut setMaximumSignificantDigits:20];
NSLocale *enUSPOSIXLocale = [[NSLocale alloc]initWithLocaleIdentifier:@"en_US_POSIX"];
[sut setLocale:enUSPOSIXLocale];
NSString *expected = @"1.299129258067496"; // 16 significants digits
NSString *actual = [sut stringFromNumber:@(1.299129258067496)];
[[actual should] equal:expected];// Failed to pass, the actual is @"1.2991292580675"
Bien que dans ce cas, nous n'ayons pas besoin d'utiliser le NSNumberFormatter pour obtenir le bon résultat, je me demande pourquoi le NSNumberFormatter ne renvoie que des chaînes de 14 chiffres significatifs au maximum.