LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (August 2003, week 4)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Fri, 22 Aug 2003 09:10:22 -0700
Reply-To:     Paul Choate <pchoate@DDS.CA.GOV>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Paul Choate <pchoate@DDS.CA.GOV>
Organization: http://groups.google.com/
Subject:      Re: Tiny Roundoff Errors in 8.2 for Windows
Content-Type: text/plain; charset=ISO-8859-1

Hi Talbot,

Here is an idea - there is no error in the representation of integers, as long as your magnitude is not huge (2^53 for 8 byte numbers in Windows). If you work with your values as pennies rather than dollars your arithmetic will always be exact.

Paul Choate DDS Data Extraction

topkatz@MSN.COM (Talbot Michael Katz) wrote in message news:<200308220252.h7M2qR707234@listserv.cc.uga.edu>... > Hi, gang. > > I seem to be experiencing very small arithmetic roundoff errors in SAS 8.2 > for Windows. Here is the code snippet : > > run_bal = round(run_bal+tr_amount,0.01); > bal_dif = run_bal - prod_balance; > tr_amount = -bal_dif; > if tr_amount ne round(tr_amount,0.01) then do; > put "prec_num = " prec_num " tr_amount not round 27"; > end ; > > Note that run_bal is rounded to 0.01 (i.e., dollars and cents) at the top. > Prod_balance has also been rounded to 0.01, so bal_dif should be, too. > But, somehow, tr_amount = -bal_dif is off by about 10**(-12). > > Has anyone else experienced something like this? Is it a documented > problem? > > -- TMK --


Back to: Top of message | Previous page | Main SAS-L page