2010-01-10 4 views
0

J'utilise le code suivant pour trouver un nombre.Détermination de la longueur de la variable de type double en C

NSString *userNameOne = txtUserName.text; 
double numOne = [userNameOne intValue]; 

double agedecade = numOne/10; 
double betaage = 0.23260; 
double meanage = 5.64301; 
double one_age = agedecade - meanage; 
double age_final_var = one_age * betaage; 

Si l'entrée utilisateur 55 dans la variable numOne, la réponse sera -.033264 à l'aide du programme ci-dessus.

Cependant, si je fais la même chose sur une calculatrice, j'obtiens -.033264126. Je voudrais obtenir les trois chiffres supplémentaires dans mon programme. Comment puis-je obtenir les trois chiffres manquants (... 126) dans mon programme ci-dessus? Il se trouve que j'utilise ce code dans une application iPhone, en disant cela au cas où cela change les choses.

+0

La" réponse "dépend probablement de la façon dont vous l'imprimez. Augmentez la précision d'impression et vous verrez plus de chiffres. –

+0

Vous utilisez Objective-C, pas C simple et vous avez échoué à l'indentation. S'il vous plaît soyez plus prudent lorsque vous posez des questions, ce sont les détails qui rendent plus facile pour les autres de vous fournir des réponses utiles. – avakar

+0

parlez-vous de l'indentation de code? – HollerTrain

Répondre

3

Votre problème ne réside pas dans la variable double, mais dans la façon dont vous l'imprimez. Regardez la fonction qui l'imprime et trouvez un moyen d'augmenter le nombre de chiffres après le point décimal.

Aussi, est-ce une faute de frappe, ou encore vous avez intValue au lieu de doubleValue? : "

+0

ouais j'ai demandé en même temps que j'ai demandé à l'autre concernant doubleValue. Est-ce que mes données seront toujours stockées en tant que point décimal? – HollerTrain

0
[NSString stringWithFormat:@"%.15g", age_final_var]; 
Questions connexes