Skip to content

Commit 24bd464

Browse files
BAEL-2412
Add example of deserialization of a double whose precission is too high.
1 parent bc1a22b commit 24bd464

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.baeldung.gson.primitives.models;
2+
3+
public class DoubleExample {
4+
public double value;
5+
6+
public String toString() {
7+
return "{float: " + value + "}";
8+
}
9+
}

gson/src/test/java/org/baeldung/gson/primitives/UnitTest.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,20 @@ public class UnitTest {
5353
}
5454

5555
@Test public void fromJsonPrecissionMismatch() {
56-
String json = "{\"value\": 12.123456789123456}";
56+
String json = "{\"value\": 12.123425589123456}";
5757
Gson gson = new Gson();
5858
FloatExample model = gson.fromJson(json, FloatExample.class);
59-
assertEquals(12.123457f, model.value, 0.000001);
59+
assertEquals(12.123426f, model.value, 0.000001);
6060
}
6161

62+
@Test public void fromJsonPrecissionMismatchForDouble() {
63+
String json = "{\"value\": 12.123425589123556}";
64+
Gson gson = new Gson();
65+
DoubleExample model = gson.fromJson(json, DoubleExample.class);
66+
assertEquals(12.123425589124f, model.value, 0.000001);
67+
}
68+
69+
6270
@Test public void fromJsonOverflow() {
6371
Gson gson = new Gson();
6472
String json = "{\"value\": \"300\"}";

0 commit comments

Comments
 (0)