When assigning a value e.g. "0.1", to a float variable in a workflow definition in IBM FileNet Process Engine (PE), a value of "0.09999999" is returned in the running process. As a result, the process is unable to evaluate the variable.
The workflow is unable to process the value of the float variable.
The problem stems from an imprecision in "float", a data type which has been present in the PE server since IBM FileNet eProcess. This is working as designed, however there are 2 workarounds which are outlined below.
P8 PE, all versions, all platforms.
Resolving the problem
Implement one of the following two workarounds :
- Revise the application to provide a display mask which displays the expected quantity to the end user.
- Modify the workflow, so that the variable initialized at launch is a string field. Use the value to populate the float field as a post-processing step. See attachment for code sample.