[Rà‰SOLU] cos() pas le même résultat en string et en double

BenjoBenjo Membre
juillet 2013 modifié dans API UIKit #1

Bonjour à  tous


 


Dans mon projet je suis forcé d'utiliser la formule cos(). Seulement, j'ai remarqué que le résultat retourné en string ou en double n'est pas le même. Exemple avec un simple calcul :



NSNumber *operation;
operation = [NSNumber numberWithDouble:cos(x.doubleValue)];

NSLog(@%f, %@", operation.doubleValue, operation.stringValue);

Prenons x = 90. Mon log dit : "0.000000, 6.123233995736766e-17"


 


C'est bizarre non ? Existe-t-il une solution pour que le résultat soit le même en string que en double ? Parce qu'il serait plus pratique d'utiliser du string pour moi que du double.


 


Merci d'avance :)


 


Mots clés:

Réponses

  • CéroceCéroce Membre, Modérateur

    cos() fonctionne dans tous les cas avec des doubles.


     


    Là , on dirait plutôt que tu as des problèmes de conversion entre double / NSNumber / NSString.


  • Merci Ceroce pour ta réponse. Oui c'est cela en fait j'ai un peu mal interprété mon problème. Lorsque je convertis "operation" en double il me sort un nombre non scientifique. Alors qu'en string, j'ai un nombre très petit écrit en notation scientifique. Est-ce possible de convertir "operation" en string pour que celui-ci soit noté comme la notation en double ?


  • mpergandmpergand Membre
    juillet 2013 modifié #4

    Il est dit dans la doc qu'un NSNumber initialisé avec un double à  le format %0.16g


     


    Donc, tout semble normal, aux erreurs d'arrondi près ...


     


    On en parle ICI


  • BenjoBenjo Membre
    juillet 2013 modifié #5

    Merci mpergand pour ta réponse.



    Il est dit dans la doc qu'un NSNumber initialisé avec un double à  le format %0.16g



    Ha oui j'avais oublié cette initialisation du NSNumber.


     


    De toute façon pour afficher la valeur double dans un string il suffit d'un simple stringWithFormat :



    [NSString stringWithFormat:@%f, operation.doubleValue];

    Mais cela m'a paru bizarre ce changement de valeur entre string et double mais comme je l'ai dit, j'avais oublié l'initialisation du NSNumber.


     


    Merci à  tous !


Connectez-vous ou Inscrivez-vous pour répondre.