I have a few floats:
-4.50
+6.25
-8.00
-1.75
How can I change all these to negative floats so they become:
-4.50
-6.25
-8.00
-1
$float = -abs($float);
function invertSign($value)
{
return -$value;
}
re the edit: "Also i need a way to do the reverse If the float is a negative, make it a positive"
$number = -$number;
changes the number to its opposite.
How about something trivial like:
inverting:
$num = -$num;
converting only positive into negative:
if ($num > 0) $num = -$num;
converting only negative into positive:
if ($num < 0) $num = -$num;
A trivial
$num = $num <= 0 ? $num : -$num ;
or, the better solution, IMHO:
$num = -1 * abs($num)
As @VegardLarsen has posted,
the explicit multiplication can be avoided for shortness but I prefer readability over shortness
I suggest to avoid if/else (or equivalent ternary operator) especially if you have to manipulate a number of items (in a loop or using a lambda function), as it will affect performance.
"If the float is a negative, make it a positive."
In order to change the sign of a number you can simply do:
$num = 0 - $num;
or, multiply it by -1, of course :)
function positive_number($number)
{
if ($number < 0) {
$number *= -1;
}
return $number;
}