original_string: public static function fromFloat($float)
      {
          if (is_int($float)) {
              return new self($float);
          }
  
          if (!is_numeric($float)) {
              throw new InvalidArgumentException(
                  'Argument passed is not a numeric value.'
              );
          }
  
          // Make sure the float is a float not scientific notation.
          // Limit a max of 8 chars to prevent float errors
          $float = rtrim(sprintf('%.8F', $float), '0');
  
          // Find and grab the decimal space and everything after it
          $denominator = strstr($float, '.');
  
          // Pad a one with zeros for the length of the decimal places
          // ie  0.1 = 10; 0.02 = 100; 0.01234 = 100000;
          $denominator = (int) str_pad('1', strlen($denominator), '0');
          // Multiply to get rid of the decimal places.
          $numerator = (int) ($float*$denominator);
  
          return new self($numerator, $denominator);
      }
code: public static function fromFloat($float)
      {
          if (is_int($float)) {
              return new self($float);
          }
  
          if (!is_numeric($float)) {
              throw new InvalidArgumentException(
                  'Argument passed is not a numeric value.'
              );
          }
  
          // Make sure the float is a float not scientific notation.
          // Limit a max of 8 chars to prevent float errors
          $float = rtrim(sprintf('%.8F', $float), '0');
  
          // Find and grab the decimal space and everything after it
          $denominator = strstr($float, '.');
  
          // Pad a one with zeros for the length of the decimal places
          // ie  0.1 = 10; 0.02 = 100; 0.01234 = 100000;
          $denominator = (int) str_pad('1', strlen($denominator), '0');
          // Multiply to get rid of the decimal places.
          $numerator = (int) ($float*$denominator);
  
          return new self($numerator, $denominator);
      }
code_tokens: public static function fromFloat ( $ float ) { if ( is_int ( $ float ) ) { return new self ( $ float ) ; } if ( ! is_numeric ( $ float ) ) { throw new InvalidArgumentException ( 'Argument passed is not a numeric value.' ) ; } // Make sure the float is a float not scientific notation. // Limit a max of 8 chars to prevent float errors $ float = rtrim ( sprintf ( '%.8F' , $ float ) , '0' ) ; // Find and grab the decimal space and everything after it $ denominator = strstr ( $ float , '.' ) ; // Pad a one with zeros for the length of the decimal places // ie  0.1 = 10; 0.02 = 100; 0.01234 = 100000; $ denominator = ( int ) str_pad ( '1' , strlen ( $ denominator ) , '0' ) ; // Multiply to get rid of the decimal places. $ numerator = ( int ) ( $ float * $ denominator ) ; return new self ( $ numerator , $ denominator ) ; }
docstring: Create from float
  
  @author Christopher Tatro <c.m.tatro@gmail.com>
  @since  0.2.0
  
  @param float $float
  
  return Fraction
docstring_tokens: Create from float