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(“Vocetem" + qtdeCds + "nasuacoleção.”);System.out.printf(“EgastouR$" + 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.).
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:
P
PapaiLu
Sempre me ajudam muito. E sei que vou acabar entendendo esse negócio de formatação numérica. kkkkk
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.
E
Eduardo_Maranata10
Você pode usar isso
M
Solucao aceita
Mike1 like
Você definiu a quantidade como double?
Você criou outro decimal format ou esta reaproveitando outro que deixa com casas decimais?
DecimalFormatdf=newDecimalFormat();df.setMinimumIntegerDigits(2);df.setMaximumFractionDigits(0);System.out.println(df.format(5.00));//Passei double, mas vai imprimir 05