Decimal field value greater than 9999999, Appian converts into Exponential forma

Decimal field value greater than 9999999, Appian converts into Exponential format automatically. When we pass this value to service, service is giving error stating it is expecting as decimal not scientific. Is there any possibility to avoid this automatic conversion to exponential format. Please note that we can not use fixed function because output of this function is Text type and not decimal. Please advise. Is it a service issue? Or can we do something at Appian end to avoid exponential format. Thanks.

OriginalPostID-209709

OriginalPostID-209709

  Discussion posts and replies are publicly visible

Parents
  • Thanks for the info. Just to make one thing clear. The internal representation of a decimal in Appian always is the Java type double precision floating point. What you see is the conversion to a text representation which is different for smaller and larger numbers.

    I try to explain what I see in my analysis.

    In your screenshots the source field is of type text multiple. So when you have a decimal field in your form and save that to this text field, the value will already be converted to text and exponential form. Mapping this to a decimal field will not work for bigger numbers. See this test

    =text(todecimal(tostring(9999999999.0)), "#.#")

    So my suggestion is to change vehicle.odo to decimal type or use the text() function in the saveInto of the form field to make sure the textual representation of the decimal number is correct.

    =text(todecimal(text(9999999999.0, "#")), "#")
Reply
  • Thanks for the info. Just to make one thing clear. The internal representation of a decimal in Appian always is the Java type double precision floating point. What you see is the conversion to a text representation which is different for smaller and larger numbers.

    I try to explain what I see in my analysis.

    In your screenshots the source field is of type text multiple. So when you have a decimal field in your form and save that to this text field, the value will already be converted to text and exponential form. Mapping this to a decimal field will not work for bigger numbers. See this test

    =text(todecimal(tostring(9999999999.0)), "#.#")

    So my suggestion is to change vehicle.odo to decimal type or use the text() function in the saveInto of the form field to make sure the textual representation of the decimal number is correct.

    =text(todecimal(text(9999999999.0, "#")), "#")
Children
No Data