I\'m writing a function that calculates the value of PI, and returns it as a double. So far so good. But once the function gets to 14 digits after the decimal place, it can\
How much precision do you need?
Using decimal will give you roughly 28 decimal places:
decimal pi = 3.14159265358979323846264338327950288419716939937510m;
Console.WriteLine(pi); // 3.1415926535897932384626433833
If that's not enough for you then you'll need to search for some sort of BigDecimal implementation, or look at other techniques for performing the calculation.