2011-01-03 20 views
1

Ich erstelle eine einfache Konsolenanwendung, die den Wert von PI bis zu einer bestimmten Anzahl von Dezimalstellen anzeigt. Denn jetzt habe ich den folgenden Code geschrieben:Wie kann ich eine Dezimalstelle in einem Textfeld anzeigen?

namespace PIApplication 
{ 
    static void Main() 
    { 
    decimal Pi = Math.PI; 
    Console.Writeline("Pi is {0}.", PI); 
    } 
} 

Der Grund, warum ich {0} verwendet wird, ist, dass ich weiß, dass diese Methode funktioniert, wenn es um Boolesche Werte kommt, aber ich kann nur annehmen, dass die 0 sollte auf etwas anderes geändert werden. Kann mir jemand erklären, wie das bei mir funktioniert?

Darüber hinaus bekomme ich einen Fehler, dass das System Typ Double nicht in Dezimal konvertieren kann. Ich nehme an, dass sich dies auf den Wert bezieht, der als PI definiert ist. Was müsste ich tun, um es von einem Typ zum anderen zu konvertieren? Muss ich überhaupt?

Vielen Dank im Voraus für die Hilfe.

Antwort

2

Dies ist, wie die Konstante PI in System.Math definiert ist:

public const double PI = 3.14159 

Versuchen:

static void Main(string[] args) 
    { 
     double Pi = Math.PI; 
     Console.WriteLine("Pi is {0}.", Pi); 
    } 

Decimal: Im Vergleich zu Gleitkommatypen weist die dezimale Typ eine höhere Präzision und eine kleinere Bereich, der es für finanzielle und monetäre Berechnungen geeignet macht.

0

Explizit konvertieren?

namespace PIApplication{ 
    static void Main() 
    { 
    decimal Pi = (decimal)Math.PI; 
    Console.Writeline("Pi is {0}.", Pi); 
    } 
} 

betonten Text

1

Keine Notwendigkeit PI zu speichern, wenn Sie es zu einer bestimmten Genauigkeit gespeichert werden sollen.

int givenPrecision = 10; 
Console.WriteLine("Pi is {0}.", Math.PI.ToString("0." + new String('#', givenPrecision))); 

Dies ergibt 3.1415926536.

Verwandte Themen