a14n/dart-rational — pull request #3 by tomaszkubacki (2014-03-11 14:22:01+00:00)
Title: Rational.parse('9.9').toDecimalString() == '9.09'

Rational.parse('9.9').toDecimalString() will return '9.09' my dirty hack is to
change Rational's method toStringAsFixed line:
final decimalPart = tmpRound._toInt().toString().substring(intPart.toString().length);
to
final decimalPart = tmpRound._toInt().toString().substring(intPart.toString().length + (intPart.toString().startsWith('9') ? 1 : 0));

this makes 'nine' values print correctly and all test passing but I'm unable to create real solution atm.