Ich weiß, dass wegen der binären doppelten Darstellung, ist der Vergleich für die Gleichheit von zwei double
s nicht ganz sicher. Aber ich brauche etwas Berechnung wie folgt auszuführen:Vergleichen von Doppel für Gleichheit ist nicht sicher. Also was tun, wenn man es mit 0 vergleichen möchte?
double a;
//initializing
if(a != 0){ // <----------- HERE
double b = 2/a;
//do other computation
}
throw new RuntimeException();
So, Vergleich von double
s ist nicht sicher, aber ich möchte auf jeden Fall nicht von 0 bis devide Was in diesem Fall zu tun?
Ich würde BigDecimal
verwenden, aber seine Leistung ist nicht ganz akzeptabel.
verwandten: http://stackoverflow.com/questions/12114498/can-a-near-zero-floating-value-cause-a-divide-by-zero-error/12115243#12115243 –
Dividing durch Null ist oft eine überraschend vernünftige Sache mit Doubles zu tun. – user2357112
versuchen, die Division durch Null Ausnahme –