34 votes

Objective-C, comment convertir un double en int?

Je dois faire quelque chose de vraiment évident, mais je ne le vois pas.

texte alternatif

87voto

Georg Schölly Points 63123

Un double est un type C, pas un objet Objective-C. Vous utilisez donc les casts C:

 double myDouble = 3.2;
int myInt = (int)myDouble;
 

4voto

Vladimir Points 267

La conversion mentionnée ci-dessus suffit, bien que vous souhaitiez peut-être utiliser les fonctions floor () ou ceil () auparavant.

1voto

Toro Points 4827

intValue est une méthode pour une instance de NSNumber . Pour les types d'échelle tels que int, double et float, ils ne sont pas du type classe. Donc, ils n'ont pas de méthodes. Certaines langues telles que C # peuvent envelopper ou doubler un objet et peuvent être transférées les unes aux autres par une sous-routine.

-5voto

Jim Thio Points 7137
 double myDouble = 3.2;

int myInt = @(myDouble).intValue;
 

Exemple de code que j'utilise réellement:

 NSNumber * percentLike1 = @(@(self.percentLike.doubleValue*100).integerValue);
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X