It's Pi day (March 14) and one question you may be wondering is βhow is Pi calculated?β

Measuring circles can give a rough estimate, but an infinite series is perhaps a better and more common way to do it. As described on Calculating Pi at MathCareers.org.uk, the Nilakantha Series works pretty well. Its formula looks like this:

Nilakantha Series: Ο = 3 + 4 / (2Γ3Γ4) β 4 / (4Γ5Γ6) + 4 / (6Γ7Γ8) β 4 / (8Γ9Γ10) + β¦

You ought to be able to figure out a pattern from that. And itβs a short leap to convert that to Xojo code. Hereβs code that calculates Pi using the Nilakantha Series:

```
Dim even As Boolean = True
Dim calc As Double
Dim calcStart As Int64
Dim iterations As Integer
While iterations < 1000
iterations = iterations + 1
calcStart = calcStart + 2
calc = 4.0 / (calcStart * (calcStart + 1) * (calcStart + 2))
If even Then
Pi = Pi + calc
Else
Pi = Pi - calc
End If
even = Not even
Wend
```

Hereβs a completed project you can run in Xojo: CalcPi Project

The above code correctly calculated the first 9 digits of Pi almost immediately. Unfortunately, calculating more digits of Pi is not really practical using the standard double-precision floating point data type used in most programming languages.

## Top comments (1)

Paul your posts are awesome. Keep βem coming!