Obtain as many digits of PI as you want, e.g.
https://github.com/eneko/Pi/blob/master/one-million.txt (one million)
https://stuff.mit.edu/afs/sipb/contrib/pi/ (one billion)
Turn PI into BigInteger
, do arithmetics, restore the decimal point:
using System.Numerics;
...
string piStr = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679";
BigInteger pi = BigInteger.Parse(piStr.Replace(".", ""));
BigInteger value = pi * 789789347928325;
string result = value.ToString().Insert(16, ".");
Console.WriteLine(result);
Output:
2481196413335099.0078141712096700227201776435541531843170785955041765369811708253654976044892515801198900164883582675
Fiddle