When you try to do an operation with the Math Node and in the ‘expression field’ you pass a string instead of a valid number, it will return ‘null’ as the answer. That is correct and the expected behavior.
However, if you try to use the Conditional Node to compare if the result of the Math Node is equal to ‘null’, it will always say that it’s not null, even when you pass an invalid number to the math node and the answer is clearly ‘null’ when you look at the payload.
It seems like the value we see in the payload is not the real value the variable is assuming. I’ve investigated this behavior and discovered that if, after passing by the Math Node, you pass the payload by a "JSON encode & decode’ or by an empty ‘Function Node’, it starts to behavior like it should and the Conditional Node that compares if it’s ‘null’ evaluates to true.
This problem is easily seen in the attached workflow and seems to only affect ‘null’ values coming from the Math Node (‘null’ values set with the Mutate Node work properly).
Thanks in advance!