㈠ 在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。