php 使所有数字为负数

anhgbhbe  于 2023-01-08  发布在  PHP
关注(0)|答案(9)|浏览(155)

我有几个彩车:

-4.50
+6.25
-8.00
-1.75

如何将所有这些浮点数变为负浮点数,使它们变为:

-4.50
-6.25
-8.00
-1.75

我还需要一种方法来做相反的事情
如果浮点数为负数,则将其设为正数。

a5g8bdjr

a5g8bdjr1#

一个微不足道的

$num = $num <= 0 ? $num : -$num ;

或者,更好的解决方案,恕我直言:

$num = -1 * abs($num)

正如@VegardLarsen所言,
显式乘法可以避免简短,但我更喜欢可读性比简短
我建议避免使用if/else(或等效的三元运算符),特别是当您必须操作许多项(在循环中或使用 *lambda函数 *)时,因为这会影响性能。

  • “如果浮点数为负数,则将其设为正数。"*

要更改数字的符号,您只需执行以下操作:

$num = 0 - $num;

或者,当然是乘以-1:)

yvgpqqbh

yvgpqqbh2#

$float = -abs($float);
jmp7cifd

jmp7cifd3#

一些琐碎的事情怎么样:

  • 反转:
$num = -$num;
  • 仅将正转换为负:
if ($num > 0) $num = -$num;
  • 仅将负值转换为正值:
if ($num < 0) $num = -$num;
acruukt9

acruukt94#

回复编辑:* “我还需要一种方法来做相反的如果浮动是一个负的,使它成为一个积极的”*

$number = -$number;

将数字更改为相反的数字。

rqdpfwrv

rqdpfwrv5#

我觉得秋葵汤的答案很好,有些人更喜欢这样一个花哨的表达方式,它做了同样的事情:

$int = (($int > 0) ? -$int : $int);

编辑:显然,您正在寻找一个函数,它可以使负值变为正值。我认为以下是最简单的答案:

/* 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); }
mbjcgjjk

mbjcgjjk6#

function positive_number($number)
{
    if ($number < 0) {
        $number *= -1;
    }

   return $number;
}
olqngx59

olqngx597#

function invertSign($value)
{
    return -$value;
}
v7pvogib

v7pvogib8#

使用alberT和Dan Tao溶液:
负变正,反之亦然

$num = $num <= 0 ? abs($num) : -$num ;
htrmnn0y

htrmnn0y9#

下面是一个简单的可重用代码,用于反转int, float, double or decimal的符号。如果值为正值,则该方法将返回负值,反之亦然。

function inverseSign($value)
{
    return $value * (-1);
}

相关问题