Я испытывал то , что было возвращено от деления , включая нули т 0/1
, 1/0
и 0/0
. Для этого я использовал что-то похожее на следующее:
Console.WriteLine(1d / 0d);
Однако этот код 8
не печатает, Infinity
или какая-то другая строковая константа, как PositiveInfinity
.
Для полноты всего ниже напечатайте 8
:
Console.WriteLine(1d / 0d);
double value = 1d / 0d;
Console.WriteLine(value);
Console.WriteLine(Double.PositiveInfinity);
И Console.WriteLine(Double.NegativeInfinity);
печатает -8
.
Почему эта бесконечность печатает 8?
Для тех из вас, кто, кажется, думает, что это символ бесконечности, а не восьмерка, следующая программа:
Console.WriteLine(1d / 0d);
double value = 1d / 0d;
Console.WriteLine(value);
Console.WriteLine(Double.PositiveInfinity);
Console.WriteLine(8);
Выходы:
8
, а не какой-то странный Unicode-символ для бесконечности, повернутый на 90 градусов? Это может измениться в зависимости от вашей локали. Я попробовал это на dotnetfiddle.net, и он печатает Infinity
.
Double.PositiveInfinity.ToString()[0] == '8'
. В некоторых шрифтах есть некоторые экзотические символы, которые очень похожи на других. Кроме того, на каком языке настроен ваш компьютер?
8
тоже есть (немецкий язык).
Console.Write("∞");
∞
это знак бесконечности. просто переверните его на 90 градусов, чтобы увидеть его 8