# How to convert a repeating decimal to a fraction

Here are 4 simple steps to convert a repeating decimal to a fraction.

Step 1: Check to see if the number has a repeating decimal. Stop if it doesn’t and do normal conversion.

Step 2: Split the decimal into 3 parts; i, x, r. Such that the decimal equals `i.x(r)*`.

Step 3: Create a fraction in the form `a/b`.
a = ((ixr as int) – (ix as int))
b = ((10^x.length)*(10^r.length – 1))

Step 4: (optional) Reduce the fraction by dividing by the greatest common denominator.

Example:
4/3 = 1.333… which sets i = “1”, x = “”, r = “3”.
a = (13 – 1) = 12, b = ((10^0)*(10^1 – 1)) = 9
a/b = 12 / 9 = 4/3

Ratio.js does this for you when the `reduce` function is called.

Example using Ratio.js:

``` ```Ratio.parse( "1/3" ).reduce().toString() === "1/3"; Ratio.parse( 4/3 ).reduce().toString() === "4/3"; Ratio.parse( 0.123451234512345 ).reduce().toString() === "4115/33333"; Ratio.parse( 0.987987989798979897 ).reduce().toString() === "978108109901/990000000000";``` ```

## DEMO

(Page view Count: 311)