Add support for fractional numbers

The one thing this doesn't support is always forcing a certain number of decimal places, even if they are not valued (e.g. 33.30).  If someone needs that, hopefully they will open a ticket.