tutorial - objective-c linguagem de programação
Converter em valor absoluto em Objective-C (2)
Você pode usar essa função para obter o valor absoluto:
+(NSNumber *)absoluteValue:(NSNumber *)input {
return [NSNumber numberWithDouble:fabs([input doubleValue])];
}
Como faço para converter um número negativo em um valor absoluto no Objective-C?
ou seja
-10
torna-se
10?
Dependendo do tipo de sua variável, um de abs(int)
, labs(long)
, llabs(long long)
, imaxabs(intmax_t)
, fabsf(float)
, fabs(double)
ou fabsl(long double)
.
Essas funções são todas parte da biblioteca padrão C e, portanto, estão presentes em Objective-C e em C simples (e também estão disponíveis em programas C ++).
(Infelizmente, não há função habs(short)
. Ou scabs(signed char)
para esse assunto ...)
Os cabeçalhos Objective-C da Apple e do GNU também incluem uma macro ABS()
que é independente de tipo. Eu não recomendo usar o ABS()
no entanto, como não é garantido que ele seja seguro contra efeitos colaterais. Por exemplo, o ABS(a++)
terá um resultado indefinido.
Se você estiver usando C ++ ou Objective-C ++, poderá trazer o cabeçalho <cmath>
e usar std::abs()
, que é <cmath>
para todos os tipos de inteiros padrão e de ponto flutuante.