commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BEANUTILS-470) Precision lost when converting BigDecimal
Date Fri, 03 Oct 2014 16:15:34 GMT

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

Oliver Heger commented on BEANUTILS-470:
----------------------------------------

Tommy, you have been added to the contributors section of the BeanUtils pom.xml.

Regarding a 1.9.3 release; There is currently no schedule. The project is in maintenance mode,
and there has not been much activity recently. I hope to get out another release before end
of this year, but cannot promise anything concrete.

> Precision lost when converting BigDecimal
> -----------------------------------------
>
>                 Key: BEANUTILS-470
>                 URL: https://issues.apache.org/jira/browse/BEANUTILS-470
>             Project: Commons BeanUtils
>          Issue Type: Bug
>          Components: ConvertUtils & Converters
>    Affects Versions: 1.9.2
>         Environment: java version "1.7.0_51"
> Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
> Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)
>            Reporter: Tommy Tynjä
>             Fix For: 1.9.3
>
>         Attachments: NumberConverter_BigDecimal_precision_loss_fix.patch, TestCase_ExtendingBigDecimal.patch
>
>
> When converting a domain specific object which extends BigDecimal to a regular java.math.BigDecimal,
precision is lost at time of conversion. A BigDecimal of e.g. value 3200.11 will be converted
to a BigDecimal with value 3200. This happens due to org.apache.commons.beanutils.converters.NumberConverter
does a BigDecimal.valueOf(value.longValue()) at line 375 (in the current trunk). I've created
a reproducing test case which demonstrates the behavior (please see attached patch file).
> Adding the following code to NumberConverter where targetType equals BigDecimal seems
to fix this issue (and all project test cases pass):
> else if (value instanceof BigDecimal) { return targetType.cast(new BigDecimal(value.toString()));
}
> Adding an attachment containing a patch for the propsed solution.
> Filing this bug after receiving feedback on user mailing list:
> http://mail-archives.apache.org/mod_mbox/commons-user/201409.mbox/raw/%3C542B059C.40901%40oliver-heger.de%3E/



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message