diff options
author | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-07-09 21:00:23 -0700 |
---|---|---|
committer | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-07-09 21:00:23 -0700 |
commit | 1369c51957f81470579272c962f1ca755e51470f (patch) | |
tree | 617c9da4dce55455754346bf1b439d73bd693e92 /src/main/java | |
parent | 3dec03cff1f222bb947549615b2d097234b24088 (diff) | |
download | jackson-databind-1369c51957f81470579272c962f1ca755e51470f.tar.gz |
Fixed #2784 (and #2644)
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/fasterxml/jackson/databind/util/TokenBuffer.java | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/main/java/com/fasterxml/jackson/databind/util/TokenBuffer.java b/src/main/java/com/fasterxml/jackson/databind/util/TokenBuffer.java index 8145f71a3..8fa86e7df 100644 --- a/src/main/java/com/fasterxml/jackson/databind/util/TokenBuffer.java +++ b/src/main/java/com/fasterxml/jackson/databind/util/TokenBuffer.java @@ -1228,16 +1228,10 @@ sb.append("NativeObjectIds=").append(_hasNativeObjectIds).append(","); if (_forceBigDecimal) { writeNumber(p.getDecimalValue()); } else { - switch (p.getNumberType()) { - case BIG_DECIMAL: - writeNumber(p.getDecimalValue()); - break; - case FLOAT: - writeNumber(p.getFloatValue()); - break; - default: - writeNumber(p.getDoubleValue()); - } + // 09-Jul-2020, tatu: Used to just copy using most optimal method, but + // issues like [databind#2644] force to use exact, not optimal type + final Number n = p.getNumberValueExact(); + _appendValue(JsonToken.VALUE_NUMBER_FLOAT, n); } break; case VALUE_TRUE: |