Comment convertir un nombre négatif en valeur absolue dans Objective-C?
c'est à dire
-dix
devient
dix?
objective-c
rouge conservatoire
la source
la source
Réponses:
En fonction du type de votre variable, l' un
abs(int)
,labs(long)
,llabs(long long)
,imaxabs(intmax_t)
,fabsf(float)
,fabs(double)
oufabsl(long double)
.Ces fonctions font toutes partie de la bibliothèque standard C, et sont donc présentes à la fois en Objective-C et en C brut (et sont généralement disponibles dans les programmes C ++).
(Hélas, il n'y a pas de
habs(short)
fonction. Ouscabs(signed char)
d'ailleurs ...)Les en-têtes Objective-C d'Apple et de GNU incluent également une
ABS()
macro qui est indépendante du type.ABS()
Cependant, je ne recommande pas l'utilisation car il n'est pas garanti que les effets secondaires soient sûrs. Par exemple,ABS(a++)
aura un résultat non défini.Si vous utilisez C ++ ou Objective-C ++, vous pouvez importer l'en-
<cmath>
tête et utiliserstd::abs()
, qui est basé sur un modèle pour tous les types entiers et flottants standard.la source
ABS()
n'est pas sans danger pour tous les compilateurs, c'est pourquoi je ne recommande pas de l'utiliser.extern float fabsf(float); extern double fabs(double);
Vous pouvez utiliser cette fonction pour obtenir la valeur absolue:
la source