J'ai une liste de valeurs doubles dont je ne connais pas la plage de et je veux trouver la valeur maximale. Cependant, la fonction Math.max donne un résultat curieux pour cet exemple de code:Math.max semble renvoyer la mauvaise réponse
double a = -100.0;
double maxA = Double.MIN_VALUE;
maxA = Math.max(maxA, a);
System.out.println(maxA);
Et la sortie est:
4.9E-324
Donc, pour une raison quelconque, Double.MIN_VALUE est considéré comme le maximum lorsque comparé à -100,0.
Pourquoi?
Merci pour les réponses! Ce dont j'ai besoin est double maxA = -Double.MAX_VALUE; –
peut-être accepter la réponse qui correspond à vos besoins? –
Vous avez besoin de Double.NEGATIVE_INFINITY. – starblue