Perché il codice seguente stampa 0.00
e non 0
?Chiarimento sul comportamento di BigDecimal.stripTrailingZeroes()
BigDecimal big = new BigDecimal("0.00");
big = big.stripTrailingZeros();
System.out.println(big.toPlainString());
che segue è la documentazione per stripTrailingZeroes:
ritorni BigDecimal che è numericamente uguale a questo ma con tutti zeri finali rimossi dalla rappresentazione. Ad esempio, eliminando gli zeri finali dal valore BigDecimal 600.0, che ha componenti [BigInteger, scale] uguale a [6000, 1], produce 6E2 con [BigInteger, scale] componenti è uguale a [6, -2]
Resi :
un BigDecimale numericamente uguale con eventuali zeri finali rimossi.
@eznme: fisso, è troppo tardi qui :)) – Leonid
Questo appare come un bug a me. Sorprendentemente, il Java Compatibility Kit per Java 1.6 non menziona affatto la funzione 'stripTrailingZeros'. Bene, tranne che il metodo deve esistere, ma niente di più. –
Qual è in genere la procedura per segnalare problemi sospetti con le librerie Java? – Leonid