How to get whole and decimal part of a number?

前端 未结 16 1192
名媛妹妹
名媛妹妹 2020-11-27 03:10

Given, say, 1.25 - how do I get \"1\" and .\"25\" parts of this number?

I need to check if the decimal part is .0, .25, .5, or .75.

16条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-27 03:59

    $n = 1.25;
    $whole = floor($n);      // 1
    $fraction = $n - $whole; // .25
    

    Then compare against 1/4, 1/2, 3/4, etc.


    In cases of negative numbers, use this:

    function NumberBreakdown($number, $returnUnsigned = false)
    {
      $negative = 1;
      if ($number < 0)
      {
        $negative = -1;
        $number *= -1;
      }
    
      if ($returnUnsigned){
        return array(
          floor($number),
          ($number - floor($number))
        );
      }
    
      return array(
        floor($number) * $negative,
        ($number - floor($number)) * $negative
      );
    }
    

    The $returnUnsigned stops it from making -1.25 in to -1 & -0.25

提交回复
热议问题