If you don't have/want GMP and are working with large numbers/currencies:
<?php
function mb_abs($number)
{
return str_replace('-','',$number);
}
?>
No need to worry about encoding, as your numbers should all be basic (ANSI) strings.
abs
(PHP 4, PHP 5)
abs — Valor absoluto
Parâmetros
-
number -
O valor numérico para processar
Valor Retornado
O valor absoluto de number. Se o
argumento número é
do tipo float, o número retornado também é float,
em outro caso será inteiro (mas poderá retornar float
se o resultado tiver magnitude maior que inteiro).
Exemplos
Exemplo #1 Exemplo da abs()
<?php
$abs = abs(-4.2); // $abs = 4.2; (double/float)
$abs2 = abs(5); // $abs2 = 5; (inteiro)
$abs3 = abs(-5); // $abs3 = 5; (inteiro)
?>
svein dot tjonndal at gmail dot com ¶
2 years ago
Ister ¶
4 years ago
[*EDIT* by danbrown AT php DOT net: Merged user's corrected code with previous post content.]
jeremys indicated one thing - there is no sgn function wich actually seems a bit strange for me. Of course it is as simple as possible, but it is usefull and it is a standard math function needed occasionally.
Well, I have solved this function in a bit different matter:
<?php
function sgn($liczba)
{
if($liczba>0)
$liczba=1;
else if($liczba<0)
$liczba=-1;
else if(!is_numeric($liczba))
$liczba=null;
else
$liczba=0;
return $liczba;
}
?>
The difference is that it returns null when the argument isn't a number at all.
