Anthony, I think this is about scientific notation (e.g. 2.31e03 = 2130.)
It just starts to go nuts when the exponent is too big (e.g. > 1000.) So,
Tango is probably evaluating the two numbers in scientific notation,
getting NaN or error for both, and concluding they are equal.
On Tue, 18 Mar 2003, Anthony M. Humphreys wrote:
>
> I was initially using the @IFEQUAL tag on these two strings, like so
>
> <@IFEQUAL '<@VAR aa>' '<@VAR bb>'>
>
> where aa = 39149E20021231 and
> where bb = 39006E20021231
>
> so that it would be expanded out to this:
>
> <@IFEQUAL '39149E20021231' '39006E20021231'>
>
> and these two strings were always comparing true. I then translated this
> into an @CALC so that I could see if Tango really thought these two
> strings equal.
>
> So Kevin, are you telling me that any strings that have numbers and the
> letter "E" in them will be substituted with "2.718281828459045"?
> Or that the letter "G" in string will substituted with
> "0.381966011250105", etc?
>
> Wow, it DOES fail for G,E,L,P,Q,I,J,X also!
>
> These all fail to behave "predicatably"!
> <@CALC "39149G20021231"> <@CALC "39149E20021231">
> <@CALC "39149L20021231"> <@CALC "39149P20021231">
> <@CALC "39149Q20021231"> <@CALC "39149I20021231">
> <@CALC "39149J20021231"> <@CALC "39149X20021231">
>
> It's way too late to change the strings, and Tango does not have a text
> specific equality test method, like it does for "contains", "beginswith"
> and "endswith". So I guess I use always use JavaScript to do these
> comparisons going forward. What a pain!
>
> so now it's
>
> <@IF <@SCRIPT EXPR="if (server.getVariable('local$aa') ==
> server.getVariable('local$bb')) {'1'; } else {'0';};">>
>
> which works predictably
>
>
>
>
> -----Original Message-----
> From: Kevin Quinn [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, March 18, 2003 3:39 PM
> To: [EMAIL PROTECTED]
> Subject: RE: Witango-Talk: When are these strings equal (Tango 2k)
>
>
> 'E' is a defined CALC variable. Unless you're planning on using natural
> logs, don't use E. Try a 'Z' or something.
>
> -----Original Message-----
> From: Anthony M. Humphreys [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, March 18, 2003 3:34 PM
> To: [EMAIL PROTECTED] Com (E-mail)
> Subject: Witango-Talk: When are these strings equal (Tango 2k)
>
>
>
> I was doing this comparison and it was True in Tango 2k!!
>
> <@CALC "'39149E20021231'='39006E20021231'">
>
> In this particular data set the last eight characters are always equal
> anyways, so I was able to work around it by truncating the last eight
> chars in the comparison like so:
>
> <@CALC EXPR="'<@LEFT STR="39149E20021231" NUMCHARS="<@CALC
> 'len(39149E20021231) - 8'>">'='<@LEFT STR="39006E20021231"
> NUMCHARS="<@CALC 'len(39006E20021231) - 8'>">'">
>
> But still, these two strings are NOT equal by any stretch of the
> imagination. Any one care to guess what Tango has done to compare these
> two strings equal?
>
> I'd hate to run into this one again!
>
>
> ________________________________________________________________________
> TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
> with unsubscribe witango-talk in the message body
>
>
> ________________________________________________________________________
> TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
> with unsubscribe witango-talk in the message body
>
> ________________________________________________________________________
> TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
> with unsubscribe witango-talk in the message body
________________________________________________________________________
TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
with unsubscribe witango-talk in the message body