diff --git a/src/main/java/com/ezylang/evalex/data/EvaluationValue.java b/src/main/java/com/ezylang/evalex/data/EvaluationValue.java index 594676e86..5c7fbb3bd 100644 --- a/src/main/java/com/ezylang/evalex/data/EvaluationValue.java +++ b/src/main/java/com/ezylang/evalex/data/EvaluationValue.java @@ -372,6 +372,11 @@ public static EvaluationValue numberOfString(String value, MathContext mathConte if (value.startsWith("0x") || value.startsWith("0X")) { BigInteger hexToInteger = new BigInteger(value.substring(2), 16); return EvaluationValue.numberValue(new BigDecimal(hexToInteger, mathContext)); + } else if (value.toLowerCase().contains("e")) { + if (value.toLowerCase().split("e")[1].contains(".")) { + return EvaluationValue.numberValue(new BigDecimal(0, mathContext)); + } + return EvaluationValue.numberValue(new BigDecimal(value, mathContext)); } else { return EvaluationValue.numberValue(new BigDecimal(value, mathContext)); }