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

Reply via email to