在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 ;