Arredondar valores de um variavel

2 respostas
java
W

Boa tarde galera.

presiso de um auxilio em um algoritimo em java que necessita de uma saida desta forma

A=12.5664

porem sai apenas esta saida
A: 12.56636
porem o exercicio so aceita a saida A=12.5664… com faze isso ja tentei todas as tecnicas de arredondamento como Math.floor / Math.ceil todas nao consigo a saida necessaria.

este e o algoritimo.

import java.math.*;

import java.util.Locale;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
    double A;
    
    double raio;
    Scanner sc = new Scanner(System.in);
      sc.useLocale(Locale.ENGLISH);
    
    raio = sc.nextDouble();
    A = 3.14159 * Math.pow(raio,2);
    
    System.out.print("A = " +(A));
    
    
    
}

}

2 Respostas

FilipeMapelli

System.out.print("A = " + new BigDecimal(A).setScale(4, RoundingMode.HALF_EVEN));

W

vlw felipe tambem da certo, mais consequi uma forma mais facil
de fazer pesquisar na internet achei o decimal format.
e utilizar o decimal format

ficou assim:

import java.text.DecimalFormat;

import java.util.Scanner;

import java.util.Locale;

public class Main {

public static void main(String[] args){

Locale.setDefault(<a href="http://Locale.US">Locale.US</a>);

Scanner ler = new Scanner (<a href="http://System.in">System.in</a>);

DecimalFormat df = new DecimalFormat(0.0000);

double raio = ler.nextDouble();

double res = 3.14159 * (raio * raio);

System.out.println(“A=”+df.format(res));

}

}

mais ja agradeco.

Criado 10 de setembro de 2016
Ultima resposta 11 de set. de 2016
Respostas 2
Participantes 2