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

Ramya Vasanth commented on OLINGO-1545:
---------------------------------------

This is fixed as part of the commit 
https://git-wip-us.apache.org/repos/asf?p=olingo-odata4.git;a=commit;h=de412ea9712d21f69d33025c4d19b40f5d5ab836

> OData V4: Scientific notation value of Edm.Double cannot be processed
> ---------------------------------------------------------------------
>
>                 Key: OLINGO-1545
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1545
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata4-server
>    Affects Versions: (Java) V4 4.8.0
>            Reporter: Ramya Vasanth
>            Priority: Major
>
> As per 
>     
> [https://en.wikipedia.org/wiki/Double-precision_floating-point_format#IEEE_754_double-precision_binary_floating-point_format:_binary64]
> If a decimal string with at most 15 significant digits is converted to IEEE 
> 754 double-precision representation, and then converted back to a decimal 
> string with the same number of digits, the final result should match the 
> original string*.* If an IEEE 754 double-precision number is converted to a 
> decimal string with at least 17 significant digits, and then converted back 
> to double-precision representation, the final result must match the original 
> number.
> The string 5.9999999999999998e-01 parsed back to Double is _equal_ to 0.6.
> These validations often fail and POST requests having payloads with values 
> like as 0.5, 0.6, 1.1 will get converted to 5e-1, 5.99999e-1...
> The line causing the isue is in Edm.Single and Edm.Double classes
>       if (result.isInfinite() || 
> BigDecimal.valueOf(result).compareTo(bigDecimalValue) != 0) {...



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to