這個問題在這里已經有了答案: 如何比較 Java 中的兩個雙精度值? (7 個回答) 2 小時前關閉。
我知道使用==運算子比較兩個雙打是不正確的。但是比較兩個雙打像<=或一樣安全>=嗎?
uj5u.com熱心網友回復:
使用Java Double 類的compare() 方法比較兩個指定的double 值,即f1 和f2。
Public static int compare(double f1, double f2)
Double f1 = 1023d;
Double d2 = 1023d;
// comparing f1 and f2
int compare=Double.compare(f1 , f2);
if(compare > 0){
System.out.println(f1 " is greater and " f2 " is smaller.");
}
else if(compare<0){
System.out.println(f1 " is smaller " f2 " is greater.");
}
else{
System.out.println(" Both are equal! ");
}
uj5u.com熱心網友回復:
其實這取決于你的需要。當然,==運算子對于double資料型別并不安全。但是使用像<=和這樣的運算子>=可能不適合您的需要。因此,您可以將 double 轉換為 float 資料型別,然后進行檢查。我知道它不會為您提供精確度,但這是您必須做的。
那些想知道為什么==不安全的人,試試吧
System.out.println(0.1 0.2 == 0.3);
你會得到輸出為false.
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/311590.html
下一篇:如何分隔和旋轉整數中的數字?
