Hercles Posted October 24, 2021 at 09:40 PM Report Share #624323 Posted October 24, 2021 at 09:40 PM Olá! Alguém pode me ajudar com uma solução. Preciso transforma um numero BigDecimal que tem várias casas decimais depois do ponto em duas casas depois do ponto e ainda e zero até quatro deve ser arredondado para baixo e cinco até nove deve ser arredondado para cima. Já vi algumas coisas como isso: BigDecimal bd2 = new BigDecimal(1.815f).setScale(2, RoundingMode.HALF_EVEN); Mas, não funciona pro meu caso. Link to comment Share on other sites More sharing options...
Rui Carlos Posted October 25, 2021 at 06:10 PM Report Share #624329 Posted October 25, 2021 at 06:10 PM O rounding mode que precisas é o RoundingMode.HALF_UP. Uma nota adicional, pensa duas vezes antes de criares um BigDecimal a partir de um float/double, pois há uma probabilidade considerável de dar um resultado inesperado. Usar uma string ("1.815"), por exemplo, é mais previsível. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now