You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Daniel Fernández (Jira)" <ji...@apache.org> on 2025/08/05 11:33:00 UTC

[jira] [Created] (OLINGO-1642) EdmDecimal#internalValueToString fails for decimal values with only 0s for the decimal digits

Daniel Fernández created OLINGO-1642:
----------------------------------------

             Summary: EdmDecimal#internalValueToString fails for decimal values with only 0s for the decimal digits
                 Key: OLINGO-1642
                 URL: https://issues.apache.org/jira/browse/OLINGO-1642
             Project: Olingo
          Issue Type: Bug
          Components: odata4-client
    Affects Versions: (Java) V4 4.10.0
            Reporter: Daniel Fernández


When consuming EdmDecimal values like {{418082410.0000000000}} (BigDecimal {{{}4.1808241E+8{}}}), this condition in {{org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal#internalValueToString()}} fails:

{{((precision == null || precision >= digits) && (bigDecimalValue.scale() <= (scale == null ? 0 : scale)))}}

For this example:
 * precision = 8
 * digits = 9
 * scale = -1


So {{precision >= digits}} is always false for this decimal values and the method always rises the exception:

{{throw new EdmPrimitiveTypeException("The value '" + value + "' does not match the facets' constraints.");}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)