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

2021-08-31 20:14:22 字數 910 閱讀 3341

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中的字串比較

在網上隨處可以找到比較字元的例子,簡單舉個 string str i am a girl if str.compareto i am a girl 0 system.out.println str match if str.equals i am a girl system.out.println ...

java中的物件比較

public class intergererror private static boolean compare integer num1,integer num2 你的答案是什麼,返回一定是true?哈哈,再思考一下。這段 的返回值為false,這就有些不明白了,為什麼會這樣,既然用的是或,那不...

Java中的物件比較

首先明確一點 永遠是在比較位址,而equals是比較內容的值。當我們書寫這樣的 int a 10 int b 10 jvm 其實是在棧 棧幀中的操作棧?中查詢 3 這個常量,如已經存在了,變數 a 的引用就指向存放 3 的位址,如果沒有,就建立乙個。因此給基本資料型別的變數賦值時,若它們的值相等,那...