DUVIDA sobre casas decimais

Olá. Antes de tudo peço desculpas por este post. Creio que já deve ter várias postagens similares, mas a minha dúvida é a seguinte: Como fazer várias formatações numéricas no mesmo programa.
Tenho um programa e quero mostrar as casas decimais (moedas) e alguns ordenadores que eu quero que apareçam com 2 casas antes da virgula “00”.

Vejam o código e me ajudem pfvr:
(uso DecimalFormat formatador = new DecimalFormat(“0.00”); = para fazer as casas decimais )

  • mas quero que essa “qtdeCds” fica com duas casas - hoje ele está assim:
    Ex.: Você tem 2 CDs na sua coleção ------ quero que fique: Você tem 02 CDs na sua coleção

Já os preços estão acertados com 2 casas.

System.out.println(“Voce tem " + qtdeCds + " na sua coleção.”);
System.out.printf(“E gastou R$ " + formatador.format(totalCDs) + “,”);
System.out.printf(” e em média pagou: R$ " + formatador.format(precoMedio));
System.out.println(" por cd");
System.out.println("\n");

Obrigado (e desculpem se postei algo inconveniente.).

Ola @PapaiLu

DecimalFormat df = new DecimalFormat();
df.setMinimumIntegerDigits(2);
System.out.println(df.format(5)); //Isso imprime  05
1 curtida

Ótima resposta, Mike.

PapaiLu, a propriedade setMinimunIntegerDigits seta, como o nome diz, a quantidade minima de dígitos. É nesse momento que o estudo da documentação se torna importante, afinal, essa propriedade e muitas outras podem te ajudar. Dê uma olhada na documentação oficial do DecimalFormat, isso vai te ajudar muito nos estudos c:

2 curtidas

Sempre me ajudam muito. E sei que vou acabar entendendo esse negócio de formatação numérica. kkkkk

mas olha como ficou:

Voce tem 02,00 na sua coleção.
E gastou R$ 100,89, e em média pagou: R$ 50,44 por cd

eu quero que fique:

Você tem 02 na sua coleção.
E gastou R$ 100,89, e em média pagou: R$ 50,44 por cd

Obrigado de novo.

Você pode usar isso

Você definiu a quantidade como double?
Você criou outro decimal format ou esta reaproveitando outro que deixa com casas decimais?

DecimalFormat df = new DecimalFormat();
df.setMinimumIntegerDigits(2);
df.setMaximumFractionDigits(0);
System.out.println(df.format(5.00));//Passei double, mas vai imprimir 05
1 curtida