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

# Re: st: rounding the minimum of a negative number

 From Richard Williams To statalist@hsphsun2.harvard.edu, statalist@hsphsun2.harvard.edu Subject Re: st: rounding the minimum of a negative number Date Thu, 10 Jan 2013 10:36:09 -0500

```At 09:53 AM 1/10/2013, Maarten Buis wrote:
```
```On Thu, Jan 10, 2013 at 3:19 PM, annoporci wrote:
> Yes. I guess another way of expressing my puzzlement is that Stata does
> not display, by default, to a greater number of decimal places.

Stata is a program for statistical analysis. In any real statistical
analysis involving real data, any number beyond the first (maybe, if
you are lucky the second) is in essence random noice. So from that
perspective Stata is reporting way too many digits.
```
```
```
I don't remember the exact details, but somebody did post a while back about why they needed a seemingly ridiculous number of decimal places. Maybe it had something to do with genetics, where one chance in a trillion was important and meaningful. Given what I do, it would be silly for me to ask for accuracy to 12 decimal places, but in other work it may be necessary and reasonable.
```
```
```This is not to say that precision is not a problem. During
computations numerical precision is a major issue. However, my
impression, based on the couple of contacts I have had with the people
from StataCorp (mainly at Stata Users' Group meetings and just reading
what they have written), is that StataCorp tends to take this
extremely seriously.

> I don't know anything about this, but in Python, for instance, according
> to the documentation: "On a typical machine running Python, there are 53
> bits of precision available for a Python float." And, to quote more:
>
> If Python were to print the true decimal value of the binary approximation
> stored for 0.1, it would have to display:
>
> 0.1000000000000000055511151231257827021181583404541015625
>
> So that's still quite a few zeros after the first 1.

Compare that with Stata:
. di %30.25f 0.1
0.1000000000000000100000000

Does not look too different to me.

> Would I get a more accurate approximation of "-1.981" with Stata if I
> input "-1.981000000001" than if I input "-1.981" ? in the sense that it
> would "force" Stata to store the zeros after 981? (or am I
> misunderstanding the whole issue?)

If you want to store a number equivalent to -1.981 exactly than you
need think in terms of integers, as computers can store integers up to
a given size(*) exactly. In this case you would store the number 1981.

Hope this helps,
Maarten

(*) To see the limits see the the reference Nick gave you:
<http://blog.stata.com/2012/04/02/the-penultimate-guide-to-precision/>
and the references therein.

--
---------------------------------
Maarten L. Buis
WZB
Reichpietschufer 50
10785 Berlin
Germany

http://www.maartenbuis.nl
---------------------------------
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/
```
```
-------------------------------------------
Richard Williams, Notre Dame Dept of Sociology
OFFICE: (574)631-6668, (574)631-6463
HOME:   (574)289-5227
EMAIL:  Richard.A.Williams.5@ND.Edu
WWW:    http://www.nd.edu/~rwilliam

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