Qualcuno può consigliare un efficiente modo di determinare se uno BigDecimal
è un valore intero in senso matematico?Verifica se BigDecimal è un valore intero
Al momento ho il seguente codice:
private boolean isIntegerValue(BigDecimal bd) {
boolean ret;
try {
bd.toBigIntegerExact();
ret = true;
} catch (ArithmeticException ex) {
ret = false;
}
return ret;
}
... ma vorrei evitare il sovraccarico creazione di oggetti, se necessario. Precedentemente stavo usando bd.longValueExact()
che eviterebbe di creare un oggetto se lo BigDecimal
usasse la sua rappresentazione compatta internamente, ma ovviamente fallirebbe se il valore fosse troppo grande per adattarsi a un lungo.
Qualsiasi aiuto apprezzato.
Strano - Vedo 5 risposte sul mio profilo ma quando navigo alla domanda vedo solo queste due. È questo in base alla progettazione? (Ad esempio, la risposta è stata soppressa dopo aver accettato una risposta?) – Adamski