J'essaie de faire un convertisseur de hauteur de l'objectif-c simple. L'entrée est une variable (flottante) de pieds, et je souhaite convertir en pieds (int) pieds et (flottants) pouces: Cependant, je continue à obtenir une erreur de Xcode, et je réalisé que l'opérateur modulo ne fonctionne que avec (int) et (long). Quelqu'un peut-il recommander une méthode alternative? Merci! P> p>
3 Réponses :
Pourquoi n'utilisez-vous pas
CGFloat myInches = totalHeight - myFeet;
Oui, c'est tellement évident! Je devrais utiliser la pile débordement passé à 3 heures du matin. Merci beaucoup.
Vous ne devriez pas demander d'accepter la réponse ... Si OP aime les autres comme si vous obtiendrez + votes .. :)
@Anoopvaidya Yep, je sais ce que vous parlez, mais vous savez que certains nouveaux arrivants oublient toujours d'accepter la réponse. Je ne suis pas sûr de cela et j'ai vu le commentaire de OP qu'il semble que ma réponse a répondu aux questions de OP. Je viens donc d'ajouter un rappel. Est-ce clair?
Sunkehappy ... votre réponse a certainement aidé dans mon cas, mais je pense que l'opération d'Anoop arrive vraiment au cœur de la question
@ Jake9115 J'ai également appris de la réponse d'Anoop. Je n'ai pas entendu parler de cela auparavant.
Même Modulo fonctionne pour flotteur, utilisez:
Vous pouvez utiliser de cette manière aussi ... P> fmod () code> p>
float totalHeight = 5.122222;
float myFeet = (int) totalHeight; //returns 5 feet
float myInches = fmodf(totalHeight, myFeet);
NSLog(@"%f",myInches);
Float MyInches = FModf (totalheight, myfeet); code> vous devez le multiplier par 12.
@shim: L'op ne veut pas que tous les pieds soient convertis en pouces ... Il ne voulait que la fraction de pieds en pouces et les pieds en totalité.
Comme répondu plus tôt, la soustraction est la voie à suivre. N'oubliez pas de convertir les dixièmes de pieds en pouces en multipliant avec 12:
Oui, Modulo fonctionne uniquement pour les entiers (non décimales) uniquement. Tout comme ce que vous avez fait, jeté en Integer, puis modulo.