Formatar numero do tipo double

Fiz umas pesquisas sobre como formatar números em java, porém não entendi alguns métodos e outros não serviram tentei usar: printf, NumberFormat. O printf consegui usar mais não atendeu oque eu preciso. Preciso apresentar um resultado da seguinte forma -->"A="resultado
O printf aprendi assim -->"A=%.4f",resultado

Observação: preciso que a formatação tenha 4 casas decimais após a virgula.

Fala campeão, tambem sou novato.
Mas pode usar o seguinte:

format.setMaximumFractionDigits(5);

De um retorno se conseguir.

:smiley:

1 curtida
DecimalFormat df = new DecimalFormat("#,###.00");
double subtota=12000.12
String sub=df.format( subtota);

ou ara apenas trocar as virgulas ;

double valorDouble = Double.parseDouble(totalitem.replaceAll("\\.","")
                                         .replace(",","."));
1 curtida

Pessoal, não consegui. Vou postar o meu código para vcs verem:

import java.util.Scanner;

public class Main {

     public static void main(String[] args) {
	// TODO Auto-generated method stub
	
	Scanner ler = new Scanner(System.in);
	
	double area,pi,raio;
	
	pi = 3.14159;
	
	raio = ler.nextDouble();		
	raio = Math.pow(raio, 2);
	area = pi*raio;                
                            
	System.out.printf("A="+area);

    }
}
1 curtida
DecimalFormat pi= new DecimalFormat("#,###.00");
area=3.14159;
String pii=pi.format( area);

ou

double area = Double.parseDouble(pi.replaceAll("\.","").replace(",","."));

1 curtida

Bom dia Luiz, você pode usar o método abaixo e passar um valor double para ele.

private String convertValorToMoney(Double valor){
		DecimalFormat df = new DecimalFormat("###,###.00");
		DecimalFormatSymbols dfs = new DecimalFormatSymbols();
		dfs.setDecimalSeparator(',');
		dfs.setGroupingSeparator('.');
		df.setDecimalFormatSymbols(dfs);
		return df.format(valor);
}
2 curtidas

pessoal não é isso, é algo simples.Por exemplo eu fiz uma media de 2 valores e o resultado da media é 10.0000000000000 mas eu quero apresentar na tela apenas 10.00000 (5 casas decimais).
Obs: não consegui por esses métodos que passaram.

Olá,

Veja: Formatting Numeric Print Output

Muito obg a todos que se propuseram a ajudar, consegui resolver usando o seguinte codigo:

import java.util.Scanner;
import java.text.DecimalFormat;

public class Main {

public static void main(String[] args) {
    
    Scanner ler = new Scanner(System.in);
    DecimalFormat saida = new DecimalFormat("0.00000");
    
    double A=ler.nextDouble();
    double B=ler.nextDouble();
    double C=ler.nextDouble();
    double media;
    
    media= ((A*2)+(B*3)+(C*5))/(2+3+5);
    
    System.out.println("MEDIA = "+saida.format(media));
           
    
}

}

:smiley:

Legal! também estava combessa dúvida e consegui usando o mesmo método que o seu.