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
