# Expression error

**URL:** <https://forum.inductiveautomation.com/t/expression-error/4089>\
**Category:** Ignition\
**Created:** [March 1, 2012, 8:26pm UTC](https://forum.inductiveautomation.com/t/expression-error/4089 "2012-03-01T20:26:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jonathan](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@Jonathan](https://forum.inductiveautomation.com/u/Jonathan)\
**Post date:** [March 1, 2012, 8:26pm UTC](https://forum.inductiveautomation.com/t/expression-error/4089/1 "2012-03-01T20:26:47Z")

</div>

why do i keep getting this error when the data changes for this expression? if I take out the round it works fine with no error.

```auto
if(toint({Root Container.Container_1.lblDist2YearsAgo.text},0)=0,0,round(toint({Root Container.Container_1.txtSales2YearsAgo.text},0)/toint({Root Container.Container_1.txtDist2YearsAgo.text},0),1))
```

[quote]ERROR [AbstractPropertyAdapter-AWT-EventQueue-0]  
java.lang.Exception: Error executing expression binding on  
SalesProjections.Root Container.Container\_1.txtSPP2YearsAgo.text  
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.runExpression(ExpressionPropertyAdapter.java:65)  
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.childInteractionUpdated(ExpressionPropertyAdapter.java:45)  
at com.inductiveautomation.factorypmi.application.binding.PropertyListenerDescriptor.propertyChange(PropertyListenerDescriptor.java:67)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.awt.Component.firePropertyChange(Unknown Source)  
at com.inductiveautomation.factorypmi.application.components.PMITextField.access$000(PMITextField.java:27)  
at com.inductiveautomation.factorypmi.application.components.PMITextField$1.propertyChange(PMITextField.java:43)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.awt.Component.firePropertyChange(Unknown Source)  
at javax.swing.JFormattedTextField.setValue(Unknown Source)  
at javax.swing.JFormattedTextField.setValue(Unknown Source)  
at com.inductiveautomation.vision.api.client.components.model.BaseFormattedTextField.setValueDirect(BaseFormattedTextField.java:177)  
at com.inductiveautomation.vision.api.client.components.model.BaseFormattedTextField.setValue(BaseFormattedTextField.java:172)  
at com.inductiveautomation.factorypmi.application.components.PMITextField.setTextImpl(PMITextField.java:67)  
at com.inductiveautomation.factorypmi.application.components.PMITextField.setText(PMITextField.java:52)  
at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
at java.lang.reflect.Method.invoke(Unknown Source)  
at com.inductiveautomation.factorypmi.application.binding.AbstractPropertyAdapter.updateTarget(AbstractPropertyAdapter.java:260)  
at com.inductiveautomation.factorypmi.application.binding.AbstractPropertyAdapter.updateValue(AbstractPropertyAdapter.java:210)  
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.runExpression(ExpressionPropertyAdapter.java:60)  
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.childInteractionUpdated(ExpressionPropertyAdapter.java:45)  
at com.inductiveautomation.factorypmi.application.binding.PropertyListenerDescriptor.propertyChange(PropertyListenerDescriptor.java:67)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.awt.Component.firePropertyChange(Unknown Source)  
at com.inductiveautomation.vision.api.client.components.model.AbstractVisionPanel.fireDynChange(AbstractVisionPanel.java:132)  
at com.inductiveautomation.factorypmi.application.binding.util.DynamicPropertyUtil.setPropertyValue(DynamicPropertyUtil.java:217)  
at com.inductiveautomation.vision.api.client.components.model.AbstractVisionPanel.setPropertyValue(AbstractVisionPanel.java:116)  
at com.inductiveautomation.factorypmi.application.binding.AbstractPropertyAdapter.updateTarget(AbstractPropertyAdapter.java:244)  
at com.inductiveautomation.factorypmi.application.binding.AbstractPropertyAdapter.updateValue(AbstractPropertyAdapter.java:210)  
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.runExpression(ExpressionPropertyAdapter.java:60)  
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.childInteractionUpdated(ExpressionPropertyAdapter.java:45)  
at com.inductiveautomation.factorypmi.application.binding.PropertyListenerDescriptor.propertyChange(PropertyListenerDescriptor.java:67)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)  
at java.awt.Component.firePropertyChange(Unknown Source)  
at com.inductiveautomation.vision.api.client.components.model.AbstractVisionPanel.fireDynChange(AbstractVisionPanel.java:132)  
at com.inductiveautomation.factorypmi.application.binding.util.DynamicPropertyUtil.setPropertyValue(DynamicPropertyUtil.java:217)  
at com.inductiveautomation.vision.api.client.components.model.AbstractVisionPanel.setPropertyValue(AbstractVisionPanel.java:116)  
at com.inductiveautomation.factorypmi.application.binding.AbstractPropertyAdapter.updateTarget(AbstractPropertyAdapter.java:244)  
at com.inductiveautomation.factorypmi.application.binding.SQLPropertyAdapter.updateTarget(SQLPropertyAdapter.java:253)  
at com.inductiveautomation.factorypmi.application.binding.AbstractPropertyAdapter.updateValue(AbstractPropertyAdapter.java:210)  
at com.inductiveautomation.factorypmi.application.binding.SQLPropertyAdapter.handleQueryReturnedValue(SQLPropertyAdapter.java:290)  
at com.inductiveautomation.factorypmi.application.gateway.QueryManager$HandleReturnValueTask.run(QueryManager.java:518)  
at java.awt.event.InvocationEvent.dispatch(Unknown Source)  
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)  
at java.awt.EventQueue.access$000(Unknown Source)  
at java.awt.EventQueue$1.run(Unknown Source)  
at java.awt.EventQueue$1.run(Unknown Source)  
at java.security.AccessController.doPrivileged(Native Method)  
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)  
at java.awt.EventQueue.dispatchEvent(Unknown Source)  
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)  
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)  
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)  
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)  
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)  
at java.awt.EventDispatchThread.run(Unknown Source)  
Caused by: java.lang.NumberFormatException: Infinite or NaN  
at java.math.BigDecimal.(Unknown Source)  
at com.inductiveautomation.ignition.common.expressions.DefaultFunctionFactory$RoundFunction.execute(DefaultFunctionFactory.java:1017)  
at com.inductiveautomation.ignition.common.expressions.FunctionExpression.execute(FunctionExpression.java:69)  
at com.inductiveautomation.ignition.common.expressions.DefaultFunctionFactory$IfFunction.execute(DefaultFunctionFactory.java:1302)  
at com.inductiveautomation.ignition.common.expressions.FunctionExpression.execute(FunctionExpression.java:69)  
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.runExpression(ExpressionPropertyAdapter.java:59)  
… 64 more  
[/quote]

---

<div class="post-metadata">

**Author:** ![Colby.Clegg](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/colby.clegg/32/3282_2.png) [@Colby.Clegg](https://forum.inductiveautomation.com/u/Colby.Clegg)\
**Post date:** [March 1, 2012, 10:56pm UTC](https://forum.inductiveautomation.com/t/expression-error/4089/2 "2012-03-01T22:56:51Z")

</div>

I think you’re simply dividing by 0, and round doesn’t like that. Check to see if your “txtDist2YearsAgo” is 0. The first part of your IF checks whether lblDist2Years… is 0, but not txt. Maybe you meant to check txt instead?

Regards,

---

<div class="post-metadata">

**Author:** ![Jonathan](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@Jonathan](https://forum.inductiveautomation.com/u/Jonathan)\
**Post date:** [March 1, 2012, 11:01pm UTC](https://forum.inductiveautomation.com/t/expression-error/4089/3 "2012-03-01T23:01:35Z")

</div>

yep, that is what is was.

thanks,
