इस प्रश्न के संबंध में C# में पाई
मैंने नीचे दिए गए कोड को कोडित किया और अंतिम 6 अंकों के साथ 0 के रूप में आउटपुट देता है। इसलिए मैं सब कुछ दशमलव में परिवर्तित करके प्रोग्राम में सुधार करना चाहता हूं। मैंने पहले कभी भी डबल के बजाय सी # में दशमलव का उपयोग नहीं किया है और मैं अपने नियमित उपयोग में केवल डबल के साथ सहज हूं।
तो कृपया मुझे दशमलव रूपांतरण में मदद करें, मैंने शुरुआत में सभी डबल को दशमलव में बदलने की कोशिश की और यह अच्छा नहीं हुआ :(।
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 .NET गणित वर्ग स्थिरांक से PI प्राप्त करें 3.14159265358979000000
1 उत्तर
खैर, double
को decimal
से बदलना एक अच्छी शुरुआत है - और फिर आपको बस इतना करना है कि स्थिरांक को 2.0 से 2.0m में बदल दें:
static decimal 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.0m * i))) * F(i + 1);
}
}
बेशक यह अभी भी सीमित परिशुद्धता वाला है, लेकिन double
से थोड़ा अधिक है। परिणाम 3.14159265358979325010
है।
decimal
के उपयोग को सुसंगत बना दिया है।
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।