diff --git a/src/main/java/net/rptools/maptool/client/functions/StringFunctions.java b/src/main/java/net/rptools/maptool/client/functions/StringFunctions.java index e482fc3c38..567e2019e3 100644 --- a/src/main/java/net/rptools/maptool/client/functions/StringFunctions.java +++ b/src/main/java/net/rptools/maptool/client/functions/StringFunctions.java @@ -273,7 +273,13 @@ public Object childEvaluate( } } if (functionName.equalsIgnoreCase("isNumber")) { - if (NumberUtils.isParsable(parameters.get(0).toString())) { + String str = parameters.get(0).toString().trim(); + // isParsable() returns false for leading + so stripping + // off the first one. Any extras will return false. + if (str.length() > 1 && str.charAt(0) == '+') { + str = str.substring(1); + } + if (NumberUtils.isParsable(str)) { return BigDecimal.ONE; } else { return BigDecimal.ZERO;