2012-04-22 11 views
8

, ho un problema che sembra facile da risolvere, tuttavia non sono sicuro della sintassi.Java: se l'istruzione A è uguale a B più o meno 2

Ho bisogno di eseguire una istruzione if/else, ma non sono sicuro su come impostare correttamente le condizioni.

codice Bad:

if (float_a = float_b or is within +-2 of it) { 
    do this 
} 
else { 
    do that 
} 

Qual è il modo più semplice di realizzare questo?

+0

Dai un'occhiata agli operatori '<=' and '> ='. Ovviamente, con i galleggianti, l'arrotondamento potrebbe rappresentare un problema per te. – Thilo

risposta

15

È possibile utilizzare Math.abs:

if (Math.abs(float_a-float_b) <= 2) { ... } 

Questo significa "se la differenza assoluta tra A e B si trova a 2 ...".

+1

Perfetto, grazie! Alla fine del timer, risponderò a te la risposta accettata. Cheers – Numpty

8
if(Math.abs(float_a - float_b) <= 2) { 
    //do this 
} 
else { 
    //do that 
} 
Problemi correlati