我有一个双值列表,我不知道的范围,我想找到最大值。然而,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