It's not false. If %X is +4, it's referring to the value of (statement) being $true or $false, not multiplying the $true value of +4 by negative 1 and making it be -4, which is also a $true value. The ! is negating whether the "then" or "else" condition applies.

(statement) is $true, even if it's a negative number, unless it returns a value that's either $null or $false or something that evaluates to zero, including strings like +0 -0 or 0.00000. There's also a pair of doublequotes with nothing inside them that is also $false, but you can't put them into a %variable.

Quote:
//var %x 0.00 | if (!%x) echo 4 if: v1 is $v1 and x is "not true": %x | else echo 2 else: v1 is $v1 and x is "true": %x