No one seems to have answered the underlying question to this thread. Why
doesn't
   IF "0" = "00" THEN ...
treat the two items as unequal as they are strings.

The answer to this comes from the language definition. The Basic language is
effectively typeless though it is more correct to say that it is type
variant. Variables can change type from one moment to the next.

The relational operators (=, #, <, >, <=, >=) look at the two items being
compared. If both can be treated as numbers (as in this example), they
perform a numeric comparison. If one or both cannot be treated as numbers,
both are converted to strings and then compared character by character from
the left end.

Thus
   99 > 100   will return false regardless of whether the items are quoted.
wherease
   "99A" > 100   will return true.

There are many ways to force a string comparison. The generally recommended
one is to use the COMPARE() function.


Martin Phillips
Ladybridge Systems
17b Coldstream Lane, Hardingstone, Northampton NN4 6DB
+44-(0)1604-709200
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to