See ticket #203 for details on the bug and why we need additional special handling for zero.
This is a breaking change to the previous encoding. A value stored as new BigDecimal("0.00000") previously will be equivalent to new BigDecimal("0E+2147483643") when decoded with this change. These values are equivalent values for 0, however are not exactly equal because the scale is now different.
See ticket #203 for details on the bug and why we need additional special handling for zero.
This is a breaking change to the previous encoding. A value stored as
new BigDecimal("0.00000")
previously will be equivalent tonew BigDecimal("0E+2147483643")
when decoded with this change. These values are equivalent values for 0, however are not exactly equal because the scale is now different.