double a = 0 / 0d;

if (double.IsNaN(a)){ //do } 在浮点数计算中,

0除以0将得到NaN

,正数除以0将得到PositiveInfinity

,负数除以0将得到NegativeInfinity

。 浮点数运算从不引发异常。

C#语言中,对于 int,long 和 decimal类型的数,任何数除以 0 所得的结果是无穷大,不在int,long 和 decimal 类型的范围之内,所以计算 6/0 之类的表达式会出错。

但是,double 和 float 类型实际上有一个可以表示无穷大的特殊值:5.0/0.0 = Infinity (无穷大),这个规则唯一的例外是0.0/0.0 = NaN (Not a Number)。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace Infinity_NaN
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("5 / 2 = {0}", / ); //
Console.WriteLine("5.0 / 2.0 = {0}", 5.0 / 2.0); // 2.5
Console.WriteLine("5.0 / 2 = {0}", 5.0 / ); // 2.5
Console.WriteLine("5 / 2.0 = {0}", / 2.0); // 2.5
Console.WriteLine("5.0 / 0.0 = {0}", 5.0 / 0.0); // Infinity
Console.WriteLine("5.0 / 0 = {0}", 5.0 / ); // Infinity
Console.WriteLine("0.0 / 0.0 = {0}", 0.0 / 0.0); // NaN
Console.WriteLine("5 / 0.0 = {0}", / 0.0); // Infinity
Console.WriteLine("0.0 / 0 = {0}", 0.0 / ); // NaN //Console.WriteLine("5 / 0 = {0}", 5 / 0); // Err: Division by constant zero
//Console.WriteLine("0 / 0 = {0}", 0 / 0); // Err: Division by constant zero // Infinity + 10 = Infinity
// Infinity * 0 = 0
// NaN + 10 = NaN
// NaN * 0 = NaN
}
}
}

C# 如何判断数据是否为 NaN的更多相关文章

  1. 分享一个在js中判断数据是undefined,NaN,null,的技巧

    教大家如何在js中判断一个值是否是undefined,null,NaN,以及如何单独判断 平常开发过程中大家可能遇到一种问题,就是取页面某个值的时候获取不到这个var就是undefined了,如果是数 ...

  2. js 判断数据是否为空

    js 判断数据是否为空 // var a = ""; // var a = " "; // var a = null; // var a = undefined ...

  3. OAF_开发系列03_实现OAF如何在保存前判断数据是否存在变更(案例)

    2014-06-26 Created By BaoXinjian

  4. 判断数据是否服从某一分布(二)——简单易用fitdistrplus包

    一.对数据的分布进行初步判断     1.1 原理 对于不同的分布,有特定的偏度(skewness)和峰度(kurtosis),正态分布.均匀分布.逻辑斯谛分布.指数分布的偏度和峰度都是特定的值,在偏 ...

  5. echart 判断数据是否为空

    formatter 判断数据是否为空

  6. mysql语句插入前判断数据是否重复

    在mysql中插入数据有时需要判断数据插入是否重复 语句编写:insert into 表(相应字段) select 相应字段 from dual where not exists (select 相应 ...

  7. 通过exists判断数据,并查找存在的数据

    ----通过exists判断数据,并查找存在的数据---以scott用户的emp 及dept表为例 select * from emp; select * from dept; ---查找emp表中的 ...

  8. php判断form数据是否为POST而来,判断数据提交方式

    //判断form数据是否为POST而来,判断数据提交方式 if ($_SERVER['REQUEST_METHOD'] != 'POST') { // 非 POST 来路,做警告或你想做的事 retu ...

  9. presto 判断数据量是否大于一个比较小的值的优化

    问题来源于以下场景: 我们需要对一张数据表做导出文件操作,需要判断如果数据量不多的时候,直接导出提供下载,如果数据量超过一定数值,则异步处理导出和下载. 这里就引入一个问题,如果我们直接count一张 ...

随机推荐

  1. k Sum | & ||

    k Sum Given n distinct positive integers, integer k (k <= n) and a number target. Find k numbers ...

  2. PHP exit() 输出

    2014年8月6日 10:41:00 exit($a); 当$a是bool类型,整形的时候,浏览器里是看不到任何输出的 当$a是字符串的时候浏览器里是可以看到输出的 $a = 1; exit($a); ...

  3. Maven的安装、配置及使用入门

    Maven的安装.配置及使用入门 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与 ...

  4. Android ViewHolder工具

    import android.util.SparseArray; import android.view.View; /** * 封装了setTag()和getTag()方法 * 封装了findVie ...

  5. Java使用代理Proxy访问网络及其验证

    在Java的网络编程中,有时候内网服务器需要访问外网的网络资源,这时候就需要使用代理. 设置代理(Proxy)可以有两种方式: 1.通过设置系统属性(System.setPropery(String ...

  6. 总结sqlserver数据库性能优化相关的注意事项

    一.分析阶段一般来说,在系统分析阶段往往有太多需要关注的地方,系统各种功能性.可用性.可靠性.安全性需求往往吸引了我们大部分的注意力,但是,我们必须注意,性能是很重要的非功能性需求,必须根据系统的特点 ...

  7. laravel框架中Email邮件配置

    .在composer.json加入下面一行代码 .发送邮件的Route Route::.项目/app/mail.php <?php , 或 ,     .发送邮件的类 在控制器文件夹下创建Ema ...

  8. TypeScript 1.5 Beta带来修饰元数据支持

    (此文章同时发表在本人微信公众号"dotNET每日精华文章") 今天由于有点小感冒,就不长篇大论了,简单介绍一下和VS 2015 RC一同发布的TypeScript 1.5 Bet ...

  9. 用sqlplus登陆数据库时,oracle 11g出现ORA-12514问题

    转自:http://zhidao.baidu.com/question/144648216.html 启动服务 然后在sqlplus / as sysdba;执行启动startup nomount;a ...

  10. 深入理解 KVC\KVO 实现机制 — KVO

    KVC和KVO都属于键值编程而且底层实现机制都是isa-swizzing,所以本来想放在一起讲的.但是篇幅有限所以就分成了两篇博文. KVC实现机制传送门 KVO概述 键值观察Key-Value-Ob ...