java 中的NaN
来源:互联网 发布:项目管控软件 编辑:程序博客网 时间:2024/05/19 06:19
所有的浮点数值计算都遵循IEEE754规范,下面是用于表示溢出和出错情况的三个特殊的浮点数值。
1,正无穷大; 2,负无穷大; 4,NaN(不是一个数字) 例如,一个正整数除以0的结果为正无穷大。计算0/0或者负数的平方根为NaN
常量Double.POSITIVE_INFINITY , Double.NEGATIVE_INFINITY 和 Double.NaN(与相应的Float类型的常量一样)分别表示这三个特殊的值, 但在实际应用中很少使用。特别要说明的是,不能这样检测一个特定的值是否等于Double.NaN:
if(x == Double.NaN) //is never true
所有“非数值”的值都认为是不同的。然而,可以使用Double.isNaN方法:
if(Double.isNaN(x)) //check whether x is "not a number"
浮点数值不适用用于禁止出现舍入误差的金融计算中。例如,命令System.out.println(2.0 - 1.1);将打印出0.899999999999,而不是0.9。
其主要原因是数值采用二进制系统表示,而在二进制系统中无法精确表示1/10.这就好像十进制无法精确低表示1/3.如果需要在计算中避免误差,就
要使用BigDecimal类。
isNaN():
描述: 返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。
语法: isNaN(numvalue) numvalue 参数是要检查是否为 NaN 的值。
说明: 如果值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。
使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。 还有一种办法,变量可以与它自身进行比较。 如果比较的结果不等,那么它就是 NaN 。 这是因为 NaN 是唯一与自身不等的值
- java 中的NAN
- java中的 NaN
- java中的NaN
- java 中的NaN
- java中的NaN
- Java中的NaN和Infinity
- Java中的Infinity和NaN
- Java中的Infinity和NaN
- Java中的Infinity和NaN
- Java中的Infinity和NaN
- Java中的Infinity和NaN
- Java中的Infinity和NaN
- Java中的NAN和INFINITY
- java中的NAN和INFINITY
- Java中的Infinity和NaN
- java NaN
- JAVA-数值计算中的特殊情况,NAN,Infinity
- JavaScript中的NaN
- hdu 1693 插头DP
- 字符串反转
- C++:Initialization, assignment & copying有什么不同
- 图像处理与计算机视觉的经典书籍
- C++:STL标准入门汇总
- java 中的NaN
- javascript z注意点
- Map.Entry是同时遍历key和value两个用的
- 西安6民工被活埋 工友徒手挖人救出被埋者
- 打印自己的函数(C语言)
- 图解Android - Binder 和 Service
- 计算一系列数的和
- cool edit 如何制作声音淡出效果?
- PHP Strict Standards: Only variables should be passed by reference问题