Fonction If Else simple pour un calcul.
frenche
Membre
Bonjour à vous tous.
Je suis bloqué sur une application de calcul.
Je n'arrive pas à résoudre un truc qui doit être tout simple, mais je suis novice....
Voici une copie de mon bout de code.
Ce que je souhaite faire si vérifier si un champ de saisie (fieldNV2) est rempli ou pas.
Si il n'y est pas un calcul doit se faire pour la remplir Ac=c/(a/b).
Si elle est rempli ne rien faire.
Et au passage, tous mes résultats sont affichés avec un grand nombre de chiffres après la virgule, comment faire pour réduire à trois chiffres.
Dév sous Xcode 4.1 et pour IOS 4.3.
Merci à tous d'avance.
Je suis bloqué sur une application de calcul.
Je n'arrive pas à résoudre un truc qui doit être tout simple, mais je suis novice....
Voici une copie de mon bout de code.
float Ac;<br /> if (fieldNV2!=0) {<br /> Ac = c/(a/b);<br /> } else {<br /> Ac = d;<br /> };<br /> fieldNV2.text = [NSString stringWithFormat: @"%f",Ac];
Ce que je souhaite faire si vérifier si un champ de saisie (fieldNV2) est rempli ou pas.
Si il n'y est pas un calcul doit se faire pour la remplir Ac=c/(a/b).
Si elle est rempli ne rien faire.
Et au passage, tous mes résultats sont affichés avec un grand nombre de chiffres après la virgule, comment faire pour réduire à trois chiffres.
Dév sous Xcode 4.1 et pour IOS 4.3.
Merci à tous d'avance.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Pour tester si le champ est vide, il faut vérifier la longueur de son texte.
fieldNV2!=0 ne fonctionne pas.
Ce que tu veux c'est tester si le texte de ton champ est vide. Donc tester [tt]fieldNV2.text[/tt] et non directement [tt]fieldNV2[/tt].
Après, le plus simple pour tester si ce texte est vide, comme dit Eric, c'est de tester si la longueur est égale à zéro :[tt]if ([fieldNV2.text length]!=0)[/tt].
Sinon tu peux aussi comparer avec la chaà®ne vide "", mais il faut penser à comparer avec la méthode [tt]isEqualToString:[/tt] (ne jamais faire de comparaison de NSObject avec "==") : [tt]if ([fieldNB2.text isEqualToString:@""])[/tt] (mais je te conseille plutôt de tester la longueur comme dit Eric, c'est plus simple et plus rapide)
J'ai finalement réussis avec
float Ac;
if ([fieldNV2.text isEqualToString:@""]) {
Ac = c/(a/b);
}else {
Ac = d;
};
fieldNV2.text = [NSString stringWithFormat: @%f,Ac];
Merci AliGator
Bonne soirée.
NSLog c'est comme printf à part le %@ pour les objets et donc les mêmes règles s'appliquent :
Edit:
grilled
Plutôt que de faire un if simple comme ceci, j'utilise l'opérateur ternaire "?", ce qui revient, dans ton cas à ceci:
J'ai préféré rester sur une fonction If et Else plus simple pour moi dans l'immédiat si je dois reprendre mes calculs.
Histoire de rajouter mon grain de sel : c / (a/b) est (à une condition aux limites près) égal à (c * b) / a
Une multiplication est beaaaaaacoup plus rapide qu'une division et, de plus, si b est nul tu obtiens bien 0 comme réponse et pas une erreur.
Sethy