浮点型的三个特殊值 Double.NEGATIVE_INFINITY Double.POSITIVE_INFINITY Double.NaN
- Double.NEGATIVE_INFINITY 负无穷
- Double.POSITIVE_INFINITY 正无穷
- Double.NaN 非数
注意:浮点数才有无穷的概念,整数是没有的
比如:
int a = 1/0;//直接报错
抛出运算异常:Exception in thread "main" java.lang.ArithmeticException: / by zero
float m = (float)1.0/0;
结果:Infinity
double a = -10.22 / 0;
结果:-Infinity
示例代码:
public void testFun1() {
//无穷 --一个浮点型(无论是基本类型还是引用类型)的正数除以0是无穷大,
float a = (float) -10.22 / 0;
System.out.println(a);
if (Double.isInfinite(a) && a < 0.0) {
System.out.println("a的值是负无穷");
}
if (Double.NEGATIVE_INFINITY == a) {
System.out.println("----a的值是负无穷");
}
/*Double b=1029.98/0;*/
Float b = new Float(1029.98 / 0);//float类型也是这么比较
System.out.println(b);
if (Double.isInfinite(b) && b > 0.0) {
System.out.println("b的值是正无穷");
}
if (Double.POSITIVE_INFINITY == b) {
System.out.println("-----b的值是正无穷");
}
//非数 0.0/0或者负数的平方根
Double c = 0.0 / 0;
System.out.println("c=0.0/0=" + c);
Double d = Math.sqrt(-9.0);
System.out.println("d=Math.sqrt(-9.0)=" + Math.sqrt(-9.0));
/*Double.isNaN();判断是否是非数*/
if (Double.isNaN(c)) {
System.out.println("c是非数");
}
if (Double.isNaN(d)) {
System.out.println("d是非数");
}
// if(Double.NaN==d){
// System.out.println("d是非数");
// } 这种写法是错误的
}
结果是
-Infinity
a的值是负无穷
----a的值是负无穷
Infinity
b的值是正无穷
-----b的值是正无穷
c=0.0/0=NaN
d=Math.sqrt(-9.0)=NaN
c是非数
d是非
浮点型的三个特殊值 Double.NEGATIVE_INFINITY Double.POSITIVE_INFINITY Double.NaN的更多相关文章
- List<List<double>> lsls = null; 根据double值来重新排序lsls...
"确定:Node-data = (7,2).具体是:根据x维上的值将数据排序, 6个数据的中值(所谓中值,即中间大小的值)为7, 所以Node-data域位数据点(,).这样, 该节点的分割 ...
- Struts表单格局;theme三个属性值:simple,xhtml,css_xhtml
转自:http://www.educity.cn/wenda/7156.html 解决Struts2 Form表单自己布局之前先看看 theme 属性, theme属性提供 三个属性值:simple, ...
- 框架学习之Struts2(三)---OGNL和值栈
一.OGNL概述 1.1OGNL是对象图导航语言(Object-Graph Navigation Languaged)的缩写,他是一种功能强大的表达式语言,通过简单一致的表达式语法,可以存取Java对 ...
- 怎样在一条sql语句中将第一列和第二列加和的值作为第三列的值
今天在写代码的时候,遇到的一个小问题,特意记下来,以免自己以后忘记了. 在一个表单里面,要表单的第一列和第二列的值查询出来,做和,作为第三列的值. select 1 as a,2 as b,(a+b) ...
- 三.protobuf3标量值类型
Protobuf3 标量值类型 标量消息字段可以具有以下类型之一——该表显示了.proto文件中指定的类型,以及自动生成的类中的相应类型: .proto类型 说明 C++ 类型 Java 类型 Pyt ...
- 如何判断当前修改过的datatable的某一列值是否为int型或double类型
如何判断当前修改过的datatable的某一列值是否为int型或double类型 今天在做datatable数据验证时碰到要对datatable的列数据进行数据类型校验,因此记录一下本人校验的方法,如 ...
- 【转载】C#中double.TryParse方法和double.Parse方法的异同之处
在C#编程过程中,double.TryParse方法和double.Parse方法都可以将字符串string转换为double类型,但两者还是有区别,最重要的区别在于double.TryParse方法 ...
- Struts2 (三) — OGNL与值栈
一.OGNL表达式 1.概述 1.1什么是OGNL OGNL是Object-Graph Navigation Language的缩写,俗称对象图导航语言. 它是一种功能强大的表达式语言,通过它简单 ...
- jQuery 的三种获取值的方式
本节内容主要介绍的是如何使用jQuery中的.html(),.text()和.val()三种方法,用于读取,修改元素的html结构,元素的文本内容,以及表单元素的value值的方法.jQuery中为我 ...
随机推荐
- Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.GetConnection
Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.GetConnec ...
- CSS 步骤进度条
;;; } .wizard li {;; text-align: center; line-height: 30px; height: 30px; background-color: #C3C3C3; ...
- SiteCore Experience Analytics-路径分析地图
路径分析地图 路径分析器是一个应用程序,允许您查看联系人在浏览网站时所采用的各种路径.您可以查看联系人在转换目标并与广告系列互动时所采用的路径,让您深入了解哪些路径为每次转化提供最佳参与价值,以及哪些 ...
- tiny6410采用sd卡烧写的问题
今天想用32G的SD卡来烧写tiny6410的uboot但是失败了,换了一张4G的卡就可以了, 还有sd卡启动的uboot使用tftp命令是有问题的
- Python数据分析Numpy库方法简介(一)
Numpy功能简介: 1.官网:www.numpy.org 2.特点:(1)高效的多维矩阵/数组; (2);复杂的广播功能 (3):有大量的内置数学统计函数 矩阵(多维数组): 一维数组: ([ 值 ...
- win的使用
1.net use 挂在远端文件系统,方便本机软件操作! 添加挂载文件 net use h: //192.168.1.1/file 删除挂载文件 net use /delete h: ...
- RXD, tree and sequence IN HDU6065
解这道题绕了好多弯路...先是把"depth of the least common ancestor"这句话忽视掉,以为是最深点与最浅点的深度差:看到某人题解(的开头)之后发现自 ...
- mysql数据库explain命令用法详解
本文转自一位前辈的文章,感觉写得很好,就转过来了.这个是那位前辈的原文地址:http://www.111cn.net/database/mysql/81698.htm 当我们在优化SQL时,想看 ...
- 详解java中的byte类型
Java也提供了一个byte数据类型,并且是基本类型.java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte.下面这篇文章主要给大家介绍了关于j ...
- 20165306 2017-2018-2《Java程序设计》课程总结
课程总结 每周作业链接汇总: 预备作业一:我期望的师生关系 预备作业二:学习基础和C语言基础调查 预备作业三:Linux安装与学习 第一周作业:Java入门 第二周作业:基本数据类型与数组,运算符.表 ...