code: public static function FLOOR($number, $significance = null)
      {
          $number = Functions::flattenSingleValue($number);
          $significance = Functions::flattenSingleValue($significance);
  
          if (($significance === null) &&
              (Functions::getCompatibilityMode() == Functions::COMPATIBILITY_GNUMERIC)) {
              $significance = $number / abs($number);
          }
  
          if ((is_numeric($number)) && (is_numeric($significance))) {
              if ($significance == 0.0) {
                  return Functions::DIV0();
              } elseif ($number == 0.0) {
                  return 0.0;
              } elseif (self::SIGN($number) == self::SIGN($significance)) {
                  return floor($number / $significance) * $significance;
              }
  
              return Functions::NAN();
          }
  
          return Functions::VALUE();
      }
docs: FLOOR.
  
  Rounds number down, toward zero, to the nearest multiple of significance.
  
  Excel Function:
  FLOOR(number[,significance])
  
  @category Mathematical and Trigonometric Functions
  
  @param float $number Number to round
  @param float $significance Significance
  
  @return float Rounded Number