c# - 如何除以 0 不是“除以零”异常?
问题描述
此代码产生一个System.ArgumentOutOfRangeException
因为numberOfIntervals
是无穷大。但是为什么这不会产生divide by zero
异常呢?计算结果为 -524 / 0。这不应该产生divide by zero
异常吗?
DateTime startDate = new DateTime(2019, 1, 1);
DateTime referenceDate = new DateTime(2020, 6, 8);
double numberOfIntervals = (startDate - referenceDate).TotalDays / 0;
Console.WriteLine(numberOfIntervals);
解决方案
该实现由IEEE 754标准完成。
除以零:对有限操作数的运算给出精确的无限结果,例如 1/0 或 log(0)。默认情况下,返回±无穷大。
推荐阅读
- java - 如果出现错误,PreparedStatement 继续插入
- ios - 如何将 Xcode 升级到 9.2
- flutter - 如何在ListView的嵌套列中填充垂直空间
- php - 文件不存在:/home/XXX/public_html/index.php
- javafx-8 - JavaFX Gridpane 上的粘性标题
- php - PHP电子表格颜色不起作用
- php - PHP解析句子并将信息存储在变量中
- asp.net-mvc - 网络配置。在 httpErrors defaultPath 部分中路径是相对路径时找不到文件
- selection - 我在哪里可以找到进化算法选择方法的评论?
- node.js - 如何在具有纱线工作空间的 monorepo 中从 nodejs 项目构建 docker 映像