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

# Re: st: Stata cannot do math?

 From Maarten Buis To statalist@hsphsun2.harvard.edu Subject Re: st: Stata cannot do math? Date Thu, 19 May 2011 12:34:40 +0200

```On Thu, May 19, 2011 at 12:25 PM, Ronan Conroy <rconroy@rcsi.ie> wrote:
> I have a basic puzzle, which has just occurred to me: Stata cannot find any observations that satisfy the condition
>
> count if a == 100.1
>
> we know that Stata is representing the contents of the variable a as an inexact binary representation of 100.1, but why does it not represent the right hand argument in exactly the same way, causing the two to be equal? How does Stata represent the quantity 100.1 when it evaluates the expression a == 100.1?

It stores those numbers as doubles, so you can either create your
variable as a double or turn 100.1 into a float to make sure that the
comparison works:

*-------- begin example ---------
set obs 1
gen a = 100.1
gen double b = 100.1

count if a == 100.1
count if a == float(100.1)
count if b == 100.1
*------------ end example ----------

Hope this helps,
Maarten

--------------------------
Maarten L. Buis
Institut fuer Soziologie
Universitaet Tuebingen
Wilhelmstrasse 36
72074 Tuebingen
Germany

http://www.maartenbuis.nl
--------------------------

*
*   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/
```