diff --git a/src/main/java/org/scijava/parsington/Literals.java b/src/main/java/org/scijava/parsington/Literals.java index bd679da..f1c9ecd 100644 --- a/src/main/java/org/scijava/parsington/Literals.java +++ b/src/main/java/org/scijava/parsington/Literals.java @@ -408,7 +408,8 @@ public static Number parseDecimal(final CharSequence s, final Position pos) { final boolean forceFloat = "f".equalsIgnoreCase(force); final boolean forceDouble = "d".equalsIgnoreCase(force); Number result = null; - if (!forceFloat && !forceDouble) { + if (m.group(3) == null && m.group(4) == null && !forceFloat && !forceDouble) { + // No decimal point and no exponent part. So this *might* be an integer! result = parseInteger(number, forceLong, 10); } if (result == null && !forceLong) {