[ 
http://issues.apache.org/jira/browse/MATH-151?page=comments#action_12415723 ] 

Phil Steitz commented on MATH-151:
----------------------------------

Thanks for digging into this, Luc.

I agree that the source of the problem here is in the decimal - binary 
conversion; but I don't want to close this as "invalid" or "wontfix" until we 
have exhausted all practical means to address the problem from the user 
standpoint.  In other words, I would prefer to find a workaround if that is 
possible.  

One possibility is to revert to the implementation in R226479 or earlier.  See 
http://svn.apache.org/repos/asf/jakarta/commons/proper/math/trunk/src/java/org/apache/commons/math/util/MathUtils.java?revision=226479
 
where we used BigDecimal rounding.  We changed this partly for efficiency, 
partly to address http://issues.apache.org/jira/browse/MATH-32, which we would 
have to address in some other way if we go that route.

Ideas or patches welcome!

> MathUtils.round incorrect result
> --------------------------------
>
>          Key: MATH-151
>          URL: http://issues.apache.org/jira/browse/MATH-151
>      Project: Commons Math
>         Type: Bug

>     Versions: 1.1 Final
>  Environment: Win2K, Sun JDK1.5.0_05 b05
>     Reporter: Buza Zoltán

>
> MathUtils.round(39.245, 2) results 39.24, however it should be 39.25, with 
> default rounding mode BigDecimal.ROUND_HALF_UP.
> I found that internally MathUtils.round multiplies the given number by 
> 10^scale.
>  39.245 * 100.0 results 3924.49999...5 , and after this the calculation is 
> not correct any more.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to