Warum ist infinity gedruckt als "8" in der Windows-10-Konsole?

War ich testen, was zurückgegeben wurde aus der Abteilung einschließlich der Nullen, d.h. 0/1, 1/0 und 0/0. Dafür habe ich etwas ähnlich dem folgenden:

Console.WriteLine(1d / 0d);

Aber dieser code druckt 8 nicht Infinity oder eine andere string-Konstante wie PositiveInfinity.

Vollständigkeit halber alle folgenden print -8:

Console.WriteLine(1d / 0d);

double value = 1d / 0d;
Console.WriteLine(value);

Console.WriteLine(Double.PositiveInfinity);

Sowie Console.WriteLine(Double.NegativeInfinity); Drucke -8.

Warum dieser Unendlichkeit print 8?


Für diejenigen von Euch, die scheinen zu denken, dies ist ein infinity-symbol nicht acht das folgende Programm:

Console.WriteLine(1d / 0d);

double value = 1d / 0d;
Console.WriteLine(value);

Console.WriteLine(Double.PositiveInfinity);

Console.WriteLine(8);

Ausgänge:

Warum ist infinity gedruckt als

Sehen Sie ist das Zeichen der Unendlichkeit. nur drehen Sie Sie um 90 Grad, um es zu sehen 8
Sind Sie sicher, dass es eine tatsächliche 8, nicht in irgendeinem komischen Unicode-Zeichen für die Unendlichkeit, um 90 Grad gedreht? Das könnte sich ändern, basierend auf Ihrem Gebietsschema. Ich versuchte es auf dotnetfiddle.net, und es gibt Infinity.
Bitte tun Sie, was Sinatr vorgeschlagen, oder drucken Sie die Ausgabe von Double.PositiveInfinity.ToString()[0] == '8'. Es gibt einige exotische Zeichen, die sehr ähnlich Aussehen, um andere in einigen Schriften. Auch, was Sprache ist Ihr computer konfiguriert?
Dies scheint ein Windows-10-problem. In Windows 8.1 hatte ich eine infinity-symbol. Aktualisiert vor ein paar Tagen auf Windows 10 und nun habe ich eine 8 auch (Deutsche locale).
Ein quick-check wäre zu sehen, was passiert, für Console.Write("∞");

InformationsquelleAutor TheLethalCoder | 2016-12-01

Schreibe einen Kommentar