flowable/flowable-engine · warning
Could not parse to Long or Double from
Error message
Could not parse to Long or Double from: {} What it means
A WARN from the two-argument getNumberValue in DMNParseUtil: the value string failed both Long.parseLong and Double.parseDouble, so null is returned. The calling DMN evaluation continues with a missing numeric element.
Solutions
- Correct the value in the decision table to a valid Long or Double literal.
- Remove empty/placeholder cells or give the cell an explicit matching type.
- Normalize input (trim, replace ',' with '.') before DMN execution when data originates externally.
Example fix
// before <text>N/A</text> // after <text>0</text>
Defensive patterns
Strategy: validation
Validate before calling
boolean parseable(String s) { try { Long.parseLong(s.trim()); return true; } catch (Exception e) { try { Double.parseDouble(s.trim()); return true; } catch (Exception e2) { return false; } } } Prevention
- Remove placeholder text (N/A, -) from numeric cells
- Normalize input values (trim, decimal point) before execution
- Give ambiguous cells an explicit numeric type
When it happens
Trigger: formatElementValue is asked to format a value for an unspecified numeric target type (not Integer/Float/etc.), and the string is non-numeric (e.g. "N/A", "12,5", empty).
Common situations: Spreadsheet/CSV-imported decision tables with blank or textual cells typed as numbers; locale decimal commas; null-ish placeholders like '-' or 'null' in cells.
Understand the failure class
Background: "Invalid ... format", "must be in format X", "does not look like a ..." — invalid argument format errors across CLI tools and libraries — this error's family across 17 libraries.
Related errors
- Could not parse to Integer, Long, Float or Double from
- Cannot parse EL property
- Error processing DMN document
- Activity needed for multi instance cannot bv found
- activityId is null
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/946065d23b6c4251.
Report an issue: GitHub.
Appendix: source
Thrown at modules/flowable-dmn-engine/src/main/java/org/flowable/dmn/engine/impl/el/util/DMNParseUtil.java:179
returnValue = new BigInteger(value);
} else { // Default case Double
returnValue = Double.valueOf(value);
}
} catch (NumberFormatException nfe) {
LOGGER.warn("Could not parse to Integer, Long, Float or Double from: {}", value);
}
return returnValue;
}
protected static Object getNumberValue(String value) {
try {
return Long.parseLong(value);
} catch (NumberFormatException nfe1) {
try {
return Double.parseDouble(value);
} catch (NumberFormatException nfe2) {
LOGGER.warn("Could not parse to Long or Double from: {}", value);
return null;
}
}
}
protected static Class<?> getTargetType(Object targetTypeObject) {
if (targetTypeObject == null) {
return null;
}
if (isJavaCollection(targetTypeObject)) {
if (((Collection) targetTypeObject).isEmpty()) {
return null;
}
return ((Collection) targetTypeObject).iterator().next().getClass();
} else {
return targetTypeObject.getClass();
}View on GitHub (pinned to d6d39ce1c6)