我有一個雙值列表,我不知道的範圍,我想找到最大值。然而,Math.max功能是給一個奇怪的結果,這個示例代碼:Math.max似乎回來了錯誤的答案
double a = -100.0;
double maxA = Double.MIN_VALUE;
maxA = Math.max(maxA, a);
System.out.println(maxA);
,輸出是:
4.9E-324
所以,出於某種原因,Double.MIN_VALUE被認爲是最大的時候相比-100.0。
爲什麼?
謝謝你的答案!我需要的是double maxA = -Double.MAX_VALUE; – 2010-09-15 12:51:05
也許接受適合您的需求的答案? – 2010-09-15 12:54:53
您需要Double.NEGATIVE_INFINITY。 – starblue 2010-09-15 17:32:54