[expr] numeric equality operator Uses string equality if either of the arguments cannot be interpreted as numeric, but if you actually want [string equal]ity, use the [eq] operator instead. ====== % expr { 1 == 2 } 0 % expr { 1 == 1 } 1 % expr { 0x1f == 31 } 1 ====== To show you should be careful comparing floats: ====== % expr { 1 == 1.0000000000000001110223 } 1 ====== Comparing with zero is a lot safer: ====== expr { 0 eq 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 } 0 ====== I think Tcl works with +0 and -0. <> Operator