toFloat(); } return $result; } /** * Get a string faction representation of a float. * * @todo Handle repeating values like 1/3, 2/3, etc. * * @see https://rosettacode.org/wiki/Convert_decimal_number_to_rational#PHP * * @param float $value * Value to convert to string fraction. * @return string * String fraction. */ public static function fractionStringFromFloat(float $value): string { $fraction = (string) Fraction::fromFloat($value); if ($fraction === '33333333/100000000') { $fraction = '1/3'; } elseif ($fraction === '66666667/100000000') { $fraction = '2/3'; } return $fraction; } }