it-source

PHP의 숫자 기호를 변경하시겠습니까?

criticalcode 2023. 1. 13. 19:50
반응형

PHP의 숫자 기호를 변경하시겠습니까?

수레가 몇 개 있어요.

-4.50
+6.25
-8.00
-1.75

이 모든 것을 네거티브 플로트로 변경하여 다음과 같이 하려면 어떻게 해야 합니까?

-4.50
-6.25
-8.00
-1.75

그리고 그 반대로 하는 방법도 필요해

플로트가 음성이면 양성으로 합니다.

사소한 것

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

또는 더 나은 솔루션인 IMHO:

$num = -1 * abs($num)

@Vegardlarsen이 투고했듯이

명시적 곱셈은 짧게는 피할 수 있지만 나는 짧게보다는 가독성을 선호한다

if/else(또는 동등한 3진 연산자)는 성능에 영향을 미치기 때문에 특히 루프 내 또는 람다 함수를 사용하여 여러 항목을 조작해야 하는 경우에는 피하는 것이 좋습니다.

"플로트가 음수이면 양수로 만드세요."

번호 기호를 변경하려면 다음 작업을 수행합니다.

$num = 0 - $num;

또는 -1을 곱합니다.물론:)

$float = -abs($float);

다음과 같은 사소한 것은 어떻습니까?

  • 반전:

    $num = -$num;
    
  • 양의 값만 음으로 변환:

    if ($num > 0) $num = -$num;
    
  • 음수만 양수로 변환:

    if ($num < 0) $num = -$num;
    

re edit: "역방향으로 하는 방법도 필요합니다. 플로트가 음수이면 양수로 만듭니다."

$number = -$number;

번호를 반대로 변경합니다.

검보의 대답은 괜찮은 것 같아요.어떤 사람들은 같은 일을 하는 화려한 표현을 선호합니다.

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

EDIT:부정적인 기능도 찾고 있는 것 같습니다.저는 이 답변이 가장 간단하다고 생각합니다.

/* 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 및 Dan Tao 솔루션 사용:

부정에서 긍정으로, 그리고 그 반대로

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

언급URL : https://stackoverflow.com/questions/1438111/changing-the-sign-of-a-number-in-php

반응형