Fix BigDecimal serialization to be more consistent

Specifically: assigning a string value of '1000' vs. a string value of
'1000.0' would produce differing results in the serialized value.

This fixes it so that both of those inputs serialize to '1000.0'.