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)