私はゼロを含む部門から返されたもの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を出力するのですか?
これが8ではなく無限大のシンボルであると思われる方のために、次のプログラム:
Console.WriteLine(1d / 0d);
double value = 1d / 0d;
Console.WriteLine(value);
Console.WriteLine(Double.PositiveInfinity);
Console.WriteLine(8);
出力:
8
であり、90度回転した無限大の奇妙なUnicode文字ではないですか?これは、ロケールに応じて変わる可能性があります。dotnetfiddle.netで試してみましたが、印刷されましたInfinity
。
Double.PositiveInfinity.ToString()[0] == '8'
。一部のフォントでは、他の文字と非常によく似たエキゾチックな文字があります。また、コンピューターはどの言語に設定されていますか?
8
ます(ドイツ語ロケール)。
Console.Write("∞");
∞
は無限のしるしです。90度