J'ai deux valeurs CGFloat et je veux calculer le résultat modulo. Ou en d'autres termes: je veux savoir ce qui reste si valeurA est placée autant que possible dans valeurB.
Alors j'ai juste essayé:
CGFloat moduloResult = valueB % valueA;
le compilateur se plaint du% et me dit: "opérandes non valides en% binaire". Une idée?
% est pour int
ou long
, pas float
ou double
.
Vous pouvez utiliser fmod()
ou fmodf()
de <math.h>
au lieu.
Mieux vaut <tgmath.h>
as suggéré par l'inventeur de CGFloat .
Si je me souviens bien, modulo nécessite 2 ints en entrée, vous aurez donc besoin de quelque chose comme:
CGFloat moduloResult = (float)((int)valueB % (int)valueA);
En supposant que valeurB et valeurA sont toutes deux des flottants