I am trying to pass a 10 digit number (7500882768) as a rule input in my ER and it has to be of integer format only cannot pass it as text or some other format , but it is getting considered as infinity. Is there any way of passing the exact number without it being considered as infinte?
Discussion posts and replies are publicly visible
You will find a large number of discussions about this here. E.g.:
community.appian.com/.../what-s-the-meaning-of-infinity-symbol-in-instance
I need to pass the number as it is(without changing digits or data type) and this number exceeds the maximum range of integer . How to pass if a number exceeds the maximum range? and it is mandatory to pass it as integer only and not as text or some thing else.
Appian integers are limited to 32 bits. BigInteger is requested since many years. Still waiting.
The only solution I see is text.
What is your use case and in specific why cant you change int to decimal?
Converting it to decimal gives you more control for doing calculations with large numbers.
you can still display the decimal as integer on the interface and use validations to ensure only integer is entered and not decimal
I need to use it for making an api call and they expect only integer
The API call must expect that parameter in the request body. If so, you can transport that value in text format till the integration. And then, you can try to remove the quotes when building a JSON.
Most systems automatically cast input.
Well, did you try passing the data as a string in the API call and check whether it works?
Also, can you tell anything further about this API ?
whats do this API do ?
If the external system you are integrating with also computes 32 bit integers, you would again not get a proper response. Did you check by making a call via any API client like postman or similar ?
Yup the api call was successful using postman and tried passing it as text in appian but the output obtained is wrong.
can you share request details of both ?
inline or screenshots
Also, can you try passing it as decimal using todecimal ?
Can you please elaborate, how to do it