randRangeExclude( 1 , 299 , [ 100 ] )

Express `A\%` as a fraction. Reduce to lowest terms.

A / 100

`A\%` literally means `A` per 100

Putting this in fraction form: `fraction( A , 100 )`

Both numerator and denominator are divisible by `getGCD( A , 100 )`.

Reducing to lowest terms, `fractionReduce( A , 100 )`.

Optionally, the improper fraction `fractionReduce( A , 100 )` can be converted to the mixed number `( A - A % 100 ) / 100 + fractionReduce( round ( A % 100 ), 100 )`.

randRange( 101, 1999 ) / 10

`A\%` literally means `A` per 100

Putting this in fraction form: `fraction( A , 100 )`

Multiplying top and bottom by 10 to get rid of the decimal: `fraction( A * 10 , 1000 )`

Both numerator and denominator are divisible by `getGCD( A * 10 , 1000 )`.

Reducing to lowest terms, `fractionReduce( A * 10 , 1000 )`.

Optionally, the improper fraction `fractionReduce( A * 10 , 1000 )` can be converted to the mixed number `( A * 10 - A * 10 % 1000 ) / 1000 + fractionReduce( round ( A * 10 % 1000 ), 1000 )`.