Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: a question on function int

From   Chris Kopp <>
Subject   Re: st: a question on function int
Date   Thu, 20 Oct 2005 01:52:57 +0200

Dear Zhang,

-help datatypes- explains that Stata saves numbers in binary format. Numbers less than 1, such as 0.005 in your case, may not have a perfect binary representation. So if you type -list if temzzz==0.005-, no cases will be displayed. But if you type -list if temzzz<0.005-, your case will be listed. This explains what happens next: for Stata, the value of temzzz is smaller than 0.005, which yields your result. Further references can be foung in -help datatypes- as well, but I work away from my manuals at the moment, so I can't help you there. I know other users will be able to do much better, but it's a first pointer.

Have a nice day, Chris

On Oct 19, 2005, at 22:30, Jian Zhang wrote:


I have a question about the function int that I could not understand what
stata is doing. Hope that you can answer me. Thanks.

Here it is:

For example, I have a data set:

after I run the following commands:

gen double temxxx=(id/1000)
gen temyyy=int(temxxx)
gen temzzz=temxxx-temyyy
gen areaxxx=int(temzzz*1000)
list id temxxx temyyy temzzz areaxxx

What I got is
id temxxx temyyy temzzz areaxxx
10103005 10103.005 10103 .005 4

Is variable areaxxx supposed to be 5? Why did stata give me 4 instead of
5? Any clue for this?



* For searches and help try:

*   For searches and help try:

© Copyright 1996–2017 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index