Module: VARIABLE. AUSGABEFORMAT


Problem

5/5

Genauigkeit der Ausgabe

Theory Click to read/hide

Schlussfolgerungen
Es genügt, das Verfahren zu entfernen Console.Write oderConsole.WriteLine:
doppelt a = 0,9999;
Console.Writ(a);

Aber manchmal ist es notwendig, die Entnahme von Werten vorzubestimmen, es ist bequem, dies durch eine Methode zu tun. String.FormatDetail Hier.
Umgang mit einer gewissen Genauigkeit
Spezifikation fdie Anzahl, nach der die Anzahl der Zeichen nach dem Teiler angezeigt wird.
Doppel a = 12.123;
Console.WriteLine(String.Format("0:f2}, (a));
Dies hat zur Folge, dass 12.12aber wenn Sie die Bedeutung verwenden 0,9999, es wird eine unkontrollierte Rundung und Freigabe. 1,00

Daher werden die folgenden Algorithmen verwendet, um Zeichen zu entfernen und nicht rund:
(1) Entfernen Sie den Referenzwert 10.so oft die Zeichen nach dem Komma,
(2) nach MethodeMath.Truncate nur einen ganzen Teil verlassen;
(3) geteilt durch 10.so viele Zeichen, wie Sie nach dem Komma verlassen müssen.

Beispiel zweier Präzisionsmarken:
doppelt a = 0,9999;
a = a * Math.Pow(10, 2);
a = Math.Truncate(a);
a = a / Math.Pow(10, 2);

Die Art der Trennvorrichtung in der Ausgabe (Punkt oder Komma) hängt von den regionalen Konstruktionen des Computers ab, so dass der Punkt immer als Trenner verwendet werden sollte, sollten die regionalen Parameter geändert werden. Konsistenzdas letzte Beispiel:
CultureInfo ci = new CultureInfo(");
doppelt a = 0,9999;
a = a * Math.Pow(10, 2);
a = Math.Truncate(a);
a = a / Math.Pow(10, 2);
Console.WriteLine(a.ToString(ci));

Problem

Schreiben Sie ein Programm, das den variablen Wert auf die Genauigkeit von 2 Etiketten erfüllt.