㈠ 在java中怎么比较Double类型数据的大小
第一种Double d = 1.4; double d1 = d.doubleValue();转换成基础类型用>,<,==可以比较;
第二种Double d =1.4; Double d2 = 1.4;用d.equals(d1)比较
第三种Double d =1.4; Double d2 = 1.4;用d.compareTo(d1)结果为0则表示相等,>0表示d大于d1,<0表示d小于d1
㈡ Java中输入一个double类型,判断他是正整数负整数正小数负小数还是0
正负好判断,这个还要交就等于没入门。
小数整数不就是,多个精度。
你用"double原数"减去或加上floor("double原数"),剩下部分为0,肯定是整数无疑了。
虽然这方法有点low,但是对于初学者来说,还是挺好的例子,加油吧。
㈢ java 异常中0做除数在int型数据和double型数据中的不同
在JAVA中有三个特殊的浮点类型的数值:正无穷大、负无穷大、NaN
这三种数值用来表示出错或者溢出的情况。
举个例子,用一个正数去除0得到的是正无穷大,而计算负数的平方根会得到NaN
㈣ java中怎么判断一个double类型的数等于零如题
double n1 = 1; if(n1 % 1 == 0){// 是这个整数,小数点后面是0 }else{//不是整数,小数点后面不是0 }
㈤ 是否可以用0d判断java double 值是否为0
可以不用0d,直接d == 0就行了,还有,如果是单纯比较值是否相同,最好用equals
㈥ java中变量a是double型的。怎么判断a是否为null
Double a = Double.NaN;
//第一种 前两种要求类型是Double即包装类
System.out.println(a.equals(Double.NaN));
//第二种
System.out.println(a.equals(0.0d / 0.0));
//第三种 使用Double的静态方法,方法实现就是第四种 类型无要求
System.out.println(Double.isNaN(a));
//第四种 利用NaN自己和自己不相等的特性,
//要求类型必须是double,不能是包装类,否则结果是false
//因为包装类是引用类型,比较的!=是地址的比较而不是值的比较。
double b = Double.NaN;
System.out.println(b != b);
(6)double与0比较java扩展阅读:
实际开发中常常遇到这种需求:double类型的数据如果为空,就展示空字符串;如果为0,就展示0。
一般是这样做,新建一个model,和数据库里的字段,数据类型一一对应。然后把数据库里的数据取到这个model的集合里,然后进行进一步处理。
这时候就有个问题,比如double类型会默认初始化为0,这样就无法区分数据库里是0值还是null。
解决方法一
再从数据库中获取你所需要的数据的条数。这样如果值为0且数据条数小于等于0,这种情况就是空值;否则就是0.
解决方法二
可空类型。double,有0值就是0,没有值就是null。
㈦ Java中Double的比较
Double没有的,double有 Double是对象,看两个对象是否值相同,调用 equals方法
这也是解决double精度比较的方法。另外还有一种方法,你可以用写一个 double成员属性,然后在eclipse中重写equals方法,你会看到他是怎么处理两个double值是否相同的 sun公司用的是Double.doubleToLongBits(要比较的double值) != Double.doubleToLongBits(另一个double值) 这种方式
㈧ 在JAVA中怎么比较Double类型数据的大小
Double是一个包装类,不是基本类型,和double是有区别,你可以把Double就看成一个普通的类型,所以类型在比较时都应该用equals
两个对象通过==比都是不一样的,所以对象应该用equals比
㈨ 在JAVA中怎么比较Double类型数据的大小
你如果是要普通比较直接用数学符号即可,指的在其jvm允许的范围内如果,你是要很准确的精度比较运算,由于精度问题,可能会有误差,建议使用BigDecimal类型!
//普通比较
Doubleobj1=newDouble("0.001");
Doubleobj2=newDouble("0.0011");
obj1.compareTo(obj2);
//精度准确比较
doublea=obj1;
doubleb=obj2;
BigDecimaldata1=newBigDecimal(a);
BigDecimaldata2=newBigDecimal(b);
data1.compareTo(data2);
//该方法两种类都有
publicintcompareTo(BigDecimalval)
/*将此BigDecimal与指定的BigDecimal比较。根据此方法,值相等但具有不同标度的两个BigDecimal对象(如,2.0和2.00)被认为是相等的。相对六个boolean比较运算符(<,==,>,>=,!=,<=)中每一个运算符的各个方法,优先提供此方法。
*参数:val-将此BigDecimal与之比较的BigDecimal。
*返回:当此BigDecimal在数字上小于、等于或大于val时,返回-1、0或1。
*/
㈩ double类型与零值比较时不能用==和!=,但>=和<=可以吗
可以用>=和<=进行比较的。
浮点数(double)之所以不能用 == 和 != 是因为浮点数在内存中都是按精度来存储的,所以看到的 3.12也许本来是3.123456取的小数点后2位位精度,所以当与另一个 3.12进行比较时可能会出现很多种情况,如果另一个3.12其实是3.121111取的小数点后2位位精度的话,那么两个数看着相等,其实是不等的。
所以办在对浮点数进行比较的时候一般都是相减然后去和一个精度比较。
(10)double与0比较java扩展阅读:
C++中的浮点数有6种,分别是:
float:单精度,32位
unsigned float:单精度无符号,32位
double:双精度,64位
long double:高双精度,80位
然而不同的编译器对它们的支持也略有不同,据我所知,很多编译器都没有按照IEEE规定的标准80位支持后两种浮点数的,大多数编译器将它们视为double。