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 -
Valor decimal a convertir
Valores devueltos
El valor absoluto de number. Si el
argumento number es
del tipo float, el valor devuelto es también del tipo float,
siendo para los otros casos del tipo integer (debido a que float es normalmente
de mayor rango de valores que integer).
Ejemplos
Ejemplo #1 Ejemplo de abs()
<?php
$abs = abs(-4.2); // $abs = 4.2; (double/float)
$abs2 = abs(5); // $abs2 = 5; (integer)
$abs3 = abs(-5); // $abs3 = 5; (integer)
?>
svein dot tjonndal at gmail dot com ¶
1 year 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.
