[ 
https://issues.apache.org/jira/browse/JEXL-143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13806647#comment-13806647
 ] 

Henri Biestro commented on JEXL-143:
------------------------------------

In this particular case, you could use a big-decimal literal: 
9223372036854775806.5B (note the trailing 'B' for 'Big'- the doc is wrong, see 
JEXL-141).
But in general terms, if what you want is to use big decimal and/or big 
integers or taylor when coercions to integer/double occur, you may 
derive/implement a new JexlArithmetic.

> Huge numbers are rounded 
> -------------------------
>
>                 Key: JEXL-143
>                 URL: https://issues.apache.org/jira/browse/JEXL-143
>             Project: Commons JEXL
>          Issue Type: Improvement
>    Affects Versions: 2.1.1
>         Environment: Ubunu 12.04, android studio 0.2.10
>            Reporter: Frank
>
> When calculating huge numbers, which are still in the long range the result 
> is wrong (or getting rounded somehow), e.g.
> Expression e = jexl.createExpression("math:pow(2, 62)"); //also tried 
> `pow(2.0, 62.0)` and pow(2L, 62L)`
> JexlContext context = new MapContext();
> String res = String.valueOf(e.evaluate(context));
> returns `4611686018427388000` but it should be `4611686018427387904`



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to