Skip to content

Commit 461a9df

Browse files
committed
Improve format json with numbers ended with 0.
1 parent 6abcae1 commit 461a9df

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

src/main/java/com/github/underscore/lodash/Json.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,9 @@ private Number readNumber() {
697697
final String number = endCapture();
698698
final Number result;
699699
if (number.contains(".") || number.contains("e") || number.contains("E")) {
700-
if (number.length() > 9) {
700+
if (number.length() > 9 || (number.contains(".")
701+
&& number.length() - number.lastIndexOf(".") > 2)
702+
&& number.charAt(number.length() - 1) == '0') {
701703
result = new java.math.BigDecimal(number);
702704
} else {
703705
result = Double.valueOf(number);

src/test/java/com/github/underscore/lodash/LodashTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -710,6 +710,7 @@ public void formatXml() {
710710
public void formatJson() {
711711
assertEquals("{\n \"a\": {\n }\n}", U.formatJson("{\n \"a\": {\n }\n}"));
712712
assertEquals("[\n]", U.formatJson("[]"));
713+
assertEquals("[\n 1.00\n]", U.formatJson("[1.00]"));
713714
assertEquals("{\n \"a\": {\n }\n}",
714715
U.formatJson("{\n \"a\": {\n }\n}", Json.JsonStringBuilder.Step.FOUR_SPACES));
715716
assertEquals("{\"a\":{}}",

0 commit comments

Comments
 (0)