Interesting. I use float and in my taf results I get 3.5 when they enter 3.5
Maybe if they entered 3.50 I would get a different result and I did not notice it because it is not money but increments of hours they use. UI was going by the data displayed in the enterprise manager for my results not in the taf so you may be correct there. It would of course make sense for money to result in the desired result. I stand corrected. Dan on 5/24/02 10:51 AM, Eric Weidl at [EMAIL PROTECTED] wrote: > Hi, > >> I beg to differ at least with SQL 2000 > > You can beg all you want, but FLOAT is the wrong data type to use. ;-) > > If you don't believe me, believe Microsoft. Read the SQL Server Documentation: > > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/acdata/ac_8_c > on_03_6mht.asp > > >> I just ran a test >> Data Type Entered Result >> Money 20.30 20.3 >> Decimal -prec2 20.30 2 >> Decimal - prec 4 20.30 2 >> Float 20.30 20.30 > > Clearly, something is wrong with your configuration. No programmer on earth > should accept the fact that entering "20.30" returns "2". > > And I know what the problem is. Everyone can make mistakes, including me! I > said "precision of 2". I meant "scale of 2". Precision is the total number > of bytes (digits) to use to store the column value. Scale is the number of > digits to the *right of the decimal point*. A column's Scale must always be > less than its Precision. > > Create this table in SQL Server: > > CREATE TABLE [dbo].[DataTypes] ( > [aMoney] [money] NULL , > [aFloat] [float] NULL , > [aDecimal2] [decimal](18, 2) NULL , > [aDecimal4] [decimal](18, 4) NULL > ) > > Using the Enterprise Manager, enter 20.30 as the value for each column. > > Create a new ODBC data source pointing to the database. *MAKE SURE YOU DO > NOT CHANGE THE ANSI PADDINGS SETTING WHEN SETTING UP THE DATA SOURCE.* > > Create a new TAF. Add one Direct DBMS action. Enter: > > SELECT * FROM DATATYPES > > in the SQL Query. Enter <@VAR resultSet> in the Results HTML. Run the TAF > from your browser. Here's what I get: > > 20.3000 20.300000000000001 20.30 20.3000 > > Notice the trailing 1 on the float column value. I'll say once again (in > case you didn't believe Bill's minions) Floats are *approximate*! > > >> USE FLOAT!!! > > No, do not use float for this type of data. > > If the issue is the trailing 0, then it is a padding issue. Using the wrong > data type as a "fix" for improper padding is like using a hammer to drive > in a screw. > > Eric > > > ________________________________________________________________________ > TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED] > with unsubscribe witango-talk in the message body > -- Dan Stein Digital Software Solutions 799 Evergreen Circle Telford PA 18969 215-799-0192 610-256-2843 Fax 413-410-9682 FMP,Tango, EDI,SQL 7 [EMAIL PROTECTED] www.dss-db.com ________________________________________________________________________ TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED] with unsubscribe witango-talk in the message body
