The only way to get what you expect is to do the rounding using integer arithmetic. The number 18.005 must be multiplied by 1000 to keep the implied precision. Then do the rounding and reformat as a decimal.
TCL 8.5 has libtomath which promises arbitary precision integer arithetic but 8.4 has wide which gives a fair bit of precision before it blows up. Watch out >expr 46341*46341 -2147479015 I've attached some procs that I use with 8.4 to round as I would expect without having to keep everything as an integer. -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.