BigDecimal/BigInt for contracts

I just came across the OpenZeppelin report on Compound, and in particular the note on how truncated division within Solidity can result in a borrower paying 0 interest on extremely small amounts (see

Made me think it would be good if there was a BigDecimal-like library for Solidity so that precise calculations could be made to avoid these sorts of issues. Then again, using a much higher precision than is necessary with uint256 would solve this (which is essentially what a BigDecimal lib would do, anyway).

Has anyone else had any thoughts on this?

EDIT: just found thanks to @thomasbarkercom