Given a numeric value, try to express it as a simple rational number.
simplenumber(x, unit = "", multiply = "*", tol = .Machine$double.eps)
A single numeric value.
Optional. Character string giving the name of the unit
in which x
is expressed. Typically an irrational number
such as pi
. See Examples.
Optional. Character string representing multiplication.
Numerical tolerance.
A character string representing the simple number,
or NULL
if not successful.
The code tries to express x
as an integer x=n
, or as
the reciprocal of an integer x=1/n
, or
as a simple rational number x = m/n
, where m,n
are
small integers.
# NOT RUN {
simplenumber(0.3)
simplenumber(0.333333333333333333333333)
x <- pi * 2/3
simplenumber(x/pi, "pi")
# }
Run the code above in your browser using DataLab