diff --git a/prism/src/parser/ast/ExpressionConstant.java b/prism/src/parser/ast/ExpressionConstant.java index db8d0be8..8a05a5c4 100644 --- a/prism/src/parser/ast/ExpressionConstant.java +++ b/prism/src/parser/ast/ExpressionConstant.java @@ -82,6 +82,13 @@ public class ExpressionConstant extends Expression Object res = ec.getConstantValue(name); if (res == null) throw new PrismLangException("Could not evaluate constant", this); + + if (res instanceof BigRational) { + // Constants can also be BigRational, cast to appropriate type + // This might lose precision + BigRational r = (BigRational) res; + return getType().castFromBigRational(r); + } return res; }