Java中double型別資料的比較

2021-07-03 11:48:42 字數 910 閱讀 8414

double a = 0.001; 

double b = 0.0011; 

bigdecimal data1 = new bigdecimal(a); 

bigdecimal data2 = new bigdecimal(b); 

data1.compareto(data2) 

非整型數,運算由於精度問題,可能會有誤差,建議使用bigdecimal型別!

public intcompareto(bigdecimal

val)

將此 

bigdecimal

與指定的 

bigdecimal

比較。根據此方法,值相等但具有不同標度的兩個 

bigdecimal

物件(如,2.0 和 2.00)被認為是相等的。相對六個 boolean 比較運算子 (<, ==, >, >=, !=, <=) 中每乙個運算子的各個方法,優先提供此方法。建議使用以下語句執行上述比較:

(x.compareto(y)

<

op> 

0),其中 <

op> 是六個比較運算子之一。

指定者:介面comparable

<

bigdecimal

>中的compareto

引數:val- 將此 

bigdecimal

與之比較的 

bigdecimal

返回:當此 

bigdecimal

在數字上小於、等於或大於 

val時,返回 -1、0 或 1。

在JAVA中怎麼比較Double型別資料的大小?

double a 0.001 double b 0.0011 bigdecimal data1 new bigdecimal a bigdecimal data2 new bigdecimal b data1.compareto data2 非整型數,運算由於精度問題,可能會有誤差,建議使用bigd...

java的double型別數字計算相關

在專案中遇到乙個問題用double型別的數字 小數點後只有兩位 相加或者相減得出的結果並不是預期的結果,乘除也一樣。double d1 1.11 double d2 11.02 列印結果為 12.129999999999999 保留兩位小數 string.format 2f double decim...

Java中對double型別保留兩位小數的方法

整理了網上一些方法,方便以後查閱。1.使用bigdecimal類 bigdecimal b1 new bigdecimal width bigdecimal b2 new bigdecimal height bigdecimal b3 b1.multiply b2 return b3.setscal...