Skip to main content


Specify whether $DOUBLE returns INF and NAN values instance-wide.


[Miscellaneous]    IEEEError=n

n is either 1 (true) or 0 (false). The default value is 1.



This parameter has been retained for compatibility, but should not be used when building new applications.

IEEEError sets the $DOUBLE function return-value behavior instance-wide. When IEEEError is enabled (n = 1), $DOUBLE generates InterSystems IRIS® data platform errors for unresolvable IEEE floating point conversions. When this parameter is not enabled, $DOUBLE returns INF (infinity), -INF, and NAN (Not A Number) for unresolvable IEEE floating point conversions.

The parameter controls the issuing of INF, -INF, and NAN when a $DOUBLE numeric operation cannot be resolved to a numeric value. It does not control the issuing of INF, -INF, and NAN in all cases. $DOUBLE always returns INF, -INF, or NAN when you supply one of these strings as the input value, regardless of this property. Mathematical operations on $DOUBLE numbers that result in an INF, -INF, or NAN are controlled by this property. These include arithmetic operations, exponentiation, and logarithmic and trigonometric functions.

Changing This Parameter

On the Compatibility page of the Management Portal (System Administration > Configuration > Additional Settings > Compatibility), in the IEEEError row, click Edit. Select IEEEError to enable this setting.

Instead of using the Management Portal, you can change IEEEError in the Config.MiscellanousOpens in a new tab class (as described in the class reference) or by editing the CPF with a text editor.

To change this parameter for a single process only (as opposed to instance-wide), use the IEEEError()Opens in a new tab method of the %SYSTEM.ProcessOpens in a new tab class. See the class reference for details.

FeedbackOpens in a new tab