Что касается этого вопроса, Pi в C #
Я закодировал приведенный ниже код и дал результат с последними 6 цифрами как 0. Поэтому я хочу улучшить программу, преобразовав все в десятичные числа. Я никогда раньше не использовал десятичные дроби в C # вместо double, и мне удобно только с double в моем обычном использовании.
Так что, пожалуйста, помогите мне с десятичным преобразованием, я попытался заменить все двойное на десятичное в начале, и это не помогло :(.
using System;
class Program
{
static void Main()
{
Console.WriteLine(" Get PI from methods shown here");
double d = PI();
Console.WriteLine("{0:N20}",
d);
Console.WriteLine(" Get PI from the .NET Math class constant");
double d2 = Math.PI;
Console.WriteLine("{0:N20}",
d2);
}
static double PI()
{
// Returns PI
return 2 * F(1);
}
static double F(int i)
{
// Receives the call number
//To avoid so error
if (i > 60)
{
// Stop after 60 calls
return i;
}
else
{
// Return the running total with the new fraction added
return 1 + (i / (1 + (2.0 * i))) * F(i + 1);
}
}
}
Вывод
Получить PI из методов, показанных здесь 3.14159265358979000000 Получить PI из константы класса .NET Math 3.14159265358979000000