Formats numbers as rational fractions using CLDR rational format patterns.
Rational fractions contain a numerator and denominator (e.g., ½) and may also have an integer part (e.g., 5½). The formatter supports three rendering preferences:
:default— fraction slash with visible space between integer and fraction (e.g., "5 1⁄2").:super_sub— superscript numerator and subscript denominator with zero-width joiner (e.g., "5¹⁄₂").:precomposed— Unicode vulgar fraction characters when available (e.g., "5½").
Summary
Functions
Formats a number as a rational fraction string.
Functions
@spec to_ratio_string(number() | Decimal.t(), Keyword.t()) :: {:ok, String.t()} | {:error, Exception.t()}
Formats a number as a rational fraction string.
Arguments
numberis an integer, float, or Decimal.optionsis a keyword list of options.
Options
:localeis a locale identifier. The default isLocalize.get_locale().:preferis a list of rendering preferences. Valid values are:default,:super_sub, and:precomposed. The default is[:default].:max_denominatoris the largest permitted denominator. The default is10.:max_iterationsis the maximum number of continued fraction iterations. The default is20.:epsilonis the tolerance for float comparisons. The default is1.0e-10.
Returns
{:ok, formatted_string}on success.{:error, exception}if the number cannot be converted to a ratio or locale data is unavailable.