Skip to content

Commit 1d023c2

Browse files
committed
Improve format xml with numbers ended with 0.
1 parent d3a53fe commit 1d023c2

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1001,7 +1001,9 @@ private static Object getValue(final Object value, final FromType fromType) {
10011001
public static Object stringToNumber(String number) {
10021002
final Object localValue;
10031003
if (number.contains(".") || number.contains("e") || number.contains("E")) {
1004-
if (number.length() > 9) {
1004+
if (number.length() > 9 || (number.contains(".")
1005+
&& number.length() - number.lastIndexOf('.') > 2)
1006+
&& number.charAt(number.length() - 1) == '0') {
10051007
localValue = new java.math.BigDecimal(number);
10061008
} else {
10071009
localValue = Double.valueOf(number);

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,8 @@ public void formatXml() {
704704
Xml.XmlStringBuilder.Step.COMPACT));
705705
assertEquals("<a>\n\t<b></b>\n\t<b></b>\n</a>",
706706
U.formatXml("<a>\n <b></b>\n <b></b>\n</a>", Xml.XmlStringBuilder.Step.TABS));
707+
assertEquals("<a number=\"true\">1.00</a>", U.formatXml("<a number=\"true\">1.00</a>"));
708+
assertEquals("<a number=\"true\">2.01</a>", U.formatXml("<a number=\"true\">2.01</a>"));
707709
}
708710

709711
@Test

0 commit comments

Comments
 (0)