在c#语言中的数字有两个特性要了解.例如:任何数除以0所得的结果是无穷大,不在int long 和decimal类型的范围内.所以计算(一个数除以0会出错),但是在double和float类型中有一个可以表示无穷大的特殊值(infinity无穷大).这个规则的唯一例外的表达式是0.0/0.0,通常如果0除以任何数结果都是0,但是任何数除以0结果是无穷大.这样就会陷入矛盾的境地,针对这种情况,c#提供了另一个值NaN,(not a number).所以如果计算表达式0.0/0.0,则结果为NaN,
在好久以前的一次面试中,面试官问了我这么一个问题:“现在有 Integer a = 56, b = 56, c = 180, d = 180; 请问:a == b ,c == d 是否成立,也就是是否为true?” 我当时知道 a == b 是 为true,c == d 是为false的,我也是这么回答的.接着面试官问我,“为什么呢?” 然后我就不知道了.那个的确是不是很清楚为什么会这样,不过虽然那个时候这个问题没有回答出来,但是其他问题都回答得不错,并且这是一面,到了二面的时候也回答得不错
在JavaScript的数字类型Number中,我们最常使用的大概是整数类型与浮点数类型,但除这两者外,还有个特殊的存在NaN,为什么NaN!==NaN?我们如何判断一个值是否等于NaN呢?这篇文章好好聊聊NaN. 1.NaN是什么? NaN全称是Not-A-Number(不是一个数字),我们可以通过Number.NaN来获得一个NaN,在类型转换失败时,我们常常会得到一个NaN,需要注意的是,NaN是JS中唯一一个自身不相等的存在. Number.NaN //NaN NaN === NaN /
1.typeof 操作符 主要检测基础数据类型 var a="zhangqian"; var b=true; ; var d; var e=null; var f=new Object(); function add(a,b){ return a+b; } var tmp = new add(); alert(typeof a); //string alert(typeof b); //number alert(typeof c); //boolean alert(typeof d);