Is there an easy way to convert
0.005 to a Rational 1//200 ?
0.005 has no exact representation in base 2, which is why it is interpreted as this terribly long fraction.
EDIT: Actually my use case is more “general” than the above example.
I have a float which is the result of an Integer division where both arguments have ‘few’ digits (probably less than 6 in general). A better example is
Rational(43/550). I.e. given
0.07818181818181819 I would like to obtain 43 and 550.
julia> a = Rational(1,200); b = Rational(0.005); iszero(float(a)-float(b)) true julia> a 1//200 julia> b 5764607523034235//1152921504606846976