Wie konvertiere ich eine negative Zahl in Objective-C in einen absoluten Wert?
dh
-10
wird
10?
objective-c
redconservatory
quelle
quelle
Antworten:
Je nach Art des variablen, von
abs(int)
,labs(long)
,llabs(long long)
,imaxabs(intmax_t)
,fabsf(float)
,fabs(double)
, oderfabsl(long double)
.Diese Funktionen sind alle Teil der C-Standardbibliothek und daher sowohl in Objective-C als auch in C enthalten (und sind im Allgemeinen auch in C ++ - Programmen verfügbar.)
(Leider gibt es keine
habs(short)
Funktion. Oderscabs(signed char)
für diese Angelegenheit ...)Die Objective-C-Header von Apple und GNU enthalten auch ein
ABS()
typunabhängiges Makro. Ich empfehleABS()
jedoch nicht, es zu verwenden, da es nicht garantiert nebenwirkungssicher ist. Zum BeispielABS(a++)
wird ein undefiniertes Ergebnis haben.Wenn Sie C ++ oder Objective-C ++ verwenden, können Sie den
<cmath>
Header einbringen und verwendenstd::abs()
, der für alle Standardtypen für Ganzzahlen und Gleitkommazahlen vorgesehen ist.quelle
ABS()
ist jedoch nicht bei allen Compilern nebenwirkungssicher , weshalb ich die Verwendung nicht empfehle.extern float fabsf(float); extern double fabs(double);
Mit dieser Funktion können Sie den absoluten Wert ermitteln:
quelle