When you specify a value in an ESL statement, the value is expected to be of the type required by that statement. However, if you specify a value of a type that is not expected in the statement, ESL attempts to convert this value to the type required by the statement. For example, suppose you specify:
move to A B
A and B are string variables; A has a value of "0" and B has a value of "200". ESL converts the string values "0" and "200" to the integer values 0 and 200, and then performs the move.
Type conversions are performed only on the following values:
| Value | Converts to | 
| Integer | Floating point | 
| 
 | String | 
| Floating point | Integer String | 
| String | Integer Floating point Object identifier (name) with or without ancestry | 
| Boolean | Integer Floating point String | 
| Object identifier (name) with or without ancestry | String | 
Other conversions are not performed by ESL. Conversions are never performed inside an expression. If you specify a value that cannot be converted to the required type, ESL produces an error message.