In theory BigDecimal can represent a very large range of valid JSON numbers (in most cases if a
JSON number string can fit in memory, it's possible to construct an exact BigDecimal
representation), but in practice this becomes intractable for many small JSON numbers (e.g.
"1e2147483648" cannot be directly parsed as a BigDecimal).
This type makes it possible to represent much, much larger numbers efficiently (although it
doesn't support many operations on these values). It also makes it possible to distinguish
between positive and negative zeros (unlike BigDecimal), which may be useful in some
applications.
Represents a large decimal number.
In theory
BigDecimal
can represent a very large range of valid JSON numbers (in most cases if a JSON number string can fit in memory, it's possible to construct an exactBigDecimal
representation), but in practice this becomes intractable for many small JSON numbers (e.g. "1e2147483648" cannot be directly parsed as aBigDecimal
).This type makes it possible to represent much, much larger numbers efficiently (although it doesn't support many operations on these values). It also makes it possible to distinguish between positive and negative zeros (unlike
BigDecimal
), which may be useful in some applications.