JavaFree | RubyOnBr | InfoBlogs | EmpregoNaWeb

JUL
 15

Arredondamento

Enviado por 189.47.224.135. - Histórico - Editar

Operações de arredondamento, não devem ser feitas no meio dos calculos, apenas no fim. Isto nem sempre é possivel. Por isso, no Java 5.0 foi adicionada a classe MathContext que permite automatizar os arredondamentos ao longo de muitos calculos.

 

import java.math.*;

public class MathContextExample {
public static void main(String args[]){
     // cria contexto matemático 
MathContext mathContext = new
MathContext(
2, /* exatidao do calculo*/
RoundingMode.HALF_EVEN /*forma de arredondamento que minimiza erros*/
);
    // faz contas
BigDecimal a =
new BigDecimal("12345.67");
BigDecimal b = new BigDecimal("123");
BigDecimal c = a.devide(b);
     String.out.println(c); 

 

  }
}

Se o arredondamento é usado apenas na hora de mostrar o valor na tela a classe java.text.DecimalFormat deve ser usada em vez de BigDecimal. Contudo, se por algum motivo é necessário o arredondamento exporádico de um valor podemos recorrer a um método como o roundUp abaixo.

import java.math.*;

public class Divers {
public static void main(String args[]){

 double r = 3.1537;
System.out.println(
roundUp(r,2)); // output is 3.15
}
   public static double roundUp(double value, int decimalPlaces){
BigDecimal bd = new BigDecimal(r);
bd = bd.setScale(decimalPlaces,BigDecimal.ROUND_UP);
return bd.doubleValue();
  }
}


Artigos Relacionados