Arredondamento

4 respostas
oitathi

Olá, alguém sabe como eu posso fazer para por exemplo, tendo o numero double -13.459166666666667, ele arredonde para -13,46?
E uma outra coisa, como faço para o numero double 15,75 ser arredondado para um inteiro 16? e um numero 15,25 ser arredondado pra um inteiro 15? Obrigada!

4 Respostas

Z111
R

Gosto de usar o método BigDecimal.setScale(). Ele permite configurar como o arredondamento será executado.

http://www.java2s.com/Code/Java/Data-Type/Roundadoublebysettingthescale.htm

andredemelo

O método ‘BigDecimal’ é o melhor a se utilizar, nele você pode configurar o arredondamento da maneira que você precisar!

andredemelo

Um exemplo utilizando o método BigDecimal:

import java.math.BigDecimal; 

public class BigDecimal{
  public static void main(String args[]) {
    double r = -13.459166666666667;
    int decimalPlace = 2;
    BigDecimal bd = new BigDecimal(r);
    bd = bd.setScale(decimalPlace, BigDecimal.ROUND_UP);
    r = bd.doubleValue();
    System.out.println(r);
  }
}

Neste caso o arredondamento será de 2 casas decimais...
O que será impresso na tela será: -13.46

Criado 29 de setembro de 2010
Ultima resposta 29 de set. de 2010
Respostas 4
Participantes 4