J'ai une latitude flottante, et je voudrais préciser 6 chiffres pour la partie fractionnaire. Quand jeFlotteur rond à NSNumber obtenu NaN
NSNumber * nLatitude = @(round(latitude*1e6)/1e6);
NSLog(@"%f %@", latitude, nLatitude);
Parfois j'ai eu un bon résultat:
48.8282641210 48.828264
D'autres fois, j'ai obtenu NaN:
48.8281686092 nan
Quelqu'un a une idée?
Merci pour toutes vos réponses. En effet le NSNumberFormatter résout le problème, j'aimerais trouver toujours l'origine du problème. Arrondir les nombres permet d'économiser des espaces disque et une meilleure lisibilité. C'est pour enregistrer une grande quantité d'emplacements.
Voici quelques détails:
J'ai une trace et je Simuler le changement de position sur simulateur. Les positions sont envoyées par un FakeLocationManager avec un temporisateur. Parfois, les emplacements répétés sont envoyés, les premiers ont fonctionné correctement et ensuite une même position s'est avérée un NaN. Il me semble que la cause pourrait être la minuterie.
Tout comme un commentaire pour les grands nombres comme ça, vous pouvez simplement faire '1e6' au lieu de 1000000 parce que c'est plus facile à lire de cette façon. – Milo
comment voulez-vous dire _other times_? Qu'est-ce qui est différent _autres fois_? quelque chose doit être différent _autres fois_ parce que le code ne fonctionne pas comme une reine-drame ... – holex
Je n'ai pas pu reproduire l'erreur. – Milo