我正在测试除法返回的内容,包括0,即0/11/00/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);个 fingerprint -8个.

为什么这个无限打印8?


对于那些似乎认为这是一个无穷大符号而不是8的人,请看下面的节目:

Console.WriteLine(1d / 0d);

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

Console.WriteLine(Double.PositiveInfinity);

Console.WriteLine(8);

输出:

Inifinity output

推荐答案

请确保,如果浮点除以零的分子为正,则浮点值为+Infinity;如果浮点除以零的分子为负,则浮点值为-Infinity;如果浮点除的分子和分母都为零,则浮点值为NaN.这是IEEE754 floating point specification,这是C#使用的.

在您的例子中,console正在转换无穷大符号(有时以排版方式表示为水平8-∞) 垂直8.

.net相关问答推荐

为什么 .net 对字符串使用 UTF16 编码,但默认使用 UTF-8 来保存文件?

CurrentCulture、InvariantCulture、CurrentUICulture 和 InstalledUICulture 之间的区别

HttpClient 请求抛出 IOException

设置日志(log)文件名以在 Log4j 中包含当前日期

Silverlight 与 Flex

注册 COM 互操作与使程序集 COM 可见

实体框架无法加载指定的元数据资源

如何正确停止BackgroundWorker

隐式与显式接口实现

软件包版本始终为 1.0.0,带有 dotnet pack

如何对 LINQ to XML 中的元素进行深层复制?

风格上的差异:IDictionary vs Dictionary

您可以使用 Xamarin 开发 Linux 应用程序吗?

找不到库 hostpolicy.dll

例外:不支持 URI 格式

泛型类的默认构造函数的语法是什么?

.NET 中的 java.lang.IllegalStateException?

MVVM 没有意义吗?

从 bcp 客户端接收到 colid 6 的无效列长度

为什么 IList 不支持 AddRange