在PHP中更改数字的符号?
干草家伙,我有一个快速的问题。
我有几个花车:
-4.50 +6.25 -8.00 -1.75 
我怎样才能把所有这些变成负的花车,使他们变成:
 -4.50 -6.25 -8.00 -1.75 
另外我需要一种方法来做相反的事情
如果浮动是一个负面的,使其为正。
谢谢
一个微不足道的
 $num = $num <= 0 ? $num : -$num ; 
或者,更好的解决scheme,恕我直言:
 $num = -1 * abs($num) 
编辑:
明显的乘法可以避免简短,如@VegardLarsen张贴, 但我更喜欢可读性比短小:)
EDIT2:
我build议避免if / else(或等效的三元运算符),特别是如果你必须操纵一些项目(在循环或使用lambda函数 ),因为它会影响性能。
EDIT3:
“如果浮动是负面的,使其为正面。”
为了改变数字的符号,你可以简单地做:
 $num = 0 - $num; 
或者,乘以-1,当然:)
 $float = -abs($float); 
如此琐碎的事情如何:
- 
反相:
$num = -$num; - 
只将正面转换为负面:
if ($num > 0) $num = -$num; - 
只将负值转换为正值:
if ($num < 0) $num = -$num; 
重新编辑: “另外我需要一种方法来做相反如果浮动是负面的,使其成为一个积极的”
 $number = -$number; 
把数字改成相反。
我认为Gumbo的答案很好。 有些人喜欢这个奇特的expression,做同样的事情:
 $int = (($int > 0) ? -$int : $int); 
编辑 :显然你正在寻找一个function,将负面积极以及。 我认为这些答案是最简单的:
 /* I am not proposing you actually use functions called "makeNegative" and "makePositive"; I am just presenting the most direct solution in the form of two clearly named functions. */ function makeNegative($num) { return -abs($num); } function makePositive($num) { return abs($num); } 
 function positive_number($number) { if ($number < 0) { $number *= -1; } return $number; } 
 function invertSign($value) { return -$value; } 
采用alberT和丹涛解决scheme:
负面的正面和反面
 $num = $num <= 0 ? abs($num) : -$num ;