Changing the sign of a number in PHP?

前端 未结 8 1347
星月不相逢
星月不相逢 2021-01-31 13:26

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         


        
8条回答
  •  一向
    一向 (楼主)
    2021-01-31 13:59

    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 :)

提交回复
热议问题