OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: [OASIS Issue Tracker] (ODATA-771) Exponential notation for Edm.Decimal values in JSON payloads

    [ https://issues.oasis-open.org/browse/ODATA-771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=58541#comment-58541 ] 

Ralf Handl commented on ODATA-771:

All DECFLOAT34 values can be represented as Edm.Decimal with Precision="6144" and Scale="variable" using the current ABNF. The non-exponential representation of e.g. 9.999999999999999999999999999999999e6144 as 34 digits "9" followed by 6110 digits "0" is allowed. Exponential representation would just add efficiency, without having to rely on GZIP to condense all those zeroes.

Of course a specific Edm type for DECFLOAT would be better because it will express that the mantissa is restricted to 34 (or 16) digits, whereas the workaround would suggest a mantissa of 6144 digits and then e.g. silently ignore most of the mantissa digits.

> Exponential notation for Edm.Decimal values in JSON payloads
> ------------------------------------------------------------
>                 Key: ODATA-771
>                 URL: https://issues.oasis-open.org/browse/ODATA-771
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData JSON Format
>    Affects Versions: V4.0_ERRATA02
>         Environment: [Proposed]
>            Reporter: Ralf Handl
>             Fix For: V4.0_ERRATA03
> IEEE754 defines the DECFLOAT data type for high-precision decimal arithmetic. They have 16 or 34 decimal digit mantissas and exponents between -383 and +384 or -6143 and +6144.
> The correct, lossless representation of DECFLOAT values is an Edm.Decimal with unspecified precision and variable scale.
> The OData JSON Format represents Edm.Decimal values as JSON numbers, and JSON numbers allow exponential notation, so 
> "VeryLittle":1.4e-6143
> should be valid in JSON payloads.

This message was sent by Atlassian JIRA

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]