REPOSTED FOR NON-MEMBER ADDRESS: "Dave Davis" <[EMAIL PROTECTED]>

It's called "scientific notation"
That's why it is being interpreted as a number.
What it sees this is as a number 0. followed by 28 zeros followed by a 2.

Universe interprets this as a number.  UniData doesn't (at least under my 
current settings).

The most common occasion where this "bites you" is when you want to compare two 
expressions literally, but basic treats them like numbers (002 = 2, for example).

The way I avoid problems like this is to concatenate a non-numeric to the end of both sides of the 
comparison - (var1:"literal") = (var2:"literal") for example.

This also is an issue with the query language - dealing with numeric 30-digit 
account numbers, where it converts it to floating point.  In this particular 
case, Unidata has a UDT.OPTION you can set to do a literal comparison.  I don't 
know how universe deals with it.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Thursday, October 16, 2008 4:08 PM
To: u2-Users
Subject: [U2] [UV] What is this?

I just had a buddy call me to have me test something on my system that
he got bitten with.  Anyone else ever been bitten by this?

TEXT = '2E-29'    ;* Expected to be TEXT
IF NUMERIC(TEXT) THEN
   PRINT 'IS NUMERIC'
END ELSE
   PRINT 'NOT NUMERIC'
END
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to