commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henri Biestro (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JEXL-143) Huge numbers are rounded
Date Mon, 28 Oct 2013 09:23:32 GMT

    [ 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)

Mime
View raw message