Schlussfolgerungen
Es genügt, das Verfahren zu entfernen
Console.Write
oder
Console.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.Format
Detail
Hier.♪
Umgang mit einer gewissen Genauigkeit
Spezifikation
f
die 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 Methode
Math.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));