Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

st: RE: Problems rounding a variable using round()

 From Kieran McCaul To "statalist@hsphsun2.harvard.edu" Subject st: RE: Problems rounding a variable using round() Date Sun, 25 Mar 2012 12:57:06 +0800

```This is a precision problem. Try:
count if y == float(0.6)

-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of L S
Sent: Sunday, 25 March 2012 12:03 PM
To: statalist@hsphsun2.harvard.edu
Subject: st: Problems rounding a variable using round()

Hi,

I am creating a variable that is the average of 5 0/1 variables.
However, instead of taking values on {0,.2,.4.6,.8,1}, it is taking
values like .40000001 and .60000002.  I tried to use the round()
command as below, but it's not working.  Any thoughts on how I can
make y take on the values {0,.2,.4.6,.8,1}?

Thank you.

clear
set obs 1000

set seed 1234

forvalues i=1/5{
gen x`i'=(uniform()>.5)
}

gen y = (1/5)*(x1+x2+x3+x4+x5)
* browse y
count if y==.6

replace y= round(y,.1)
count if y==.6
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```