Formatar string

3 respostas
Francisco_Miguel

tenho esta formatacao aqui para um valor em string

String teste = new DecimalFormat("#,##0.00").format(10.00).substring( new DecimalFormat("#,##0.00").format(10.00).indexOf(","));

esta formatacao me retorna os centavos do valor…

so que nao estou conseguindo pegar agora os valores em reais, ou seja os valores antes da virgula.

3 Respostas

Francisco_Miguel

Deste jeito aki consigo pegar a string e formata-la mas nao estou sabendo pegar os valores que vem antes da virgula dos centavos

new DecimalFormat("#,##0.00").format(10.00)

Francisco_Miguel

ja achei a solucao, mas seguinte galera
quando eu faco isso

String ts = new DecimalFormat("#,##0").format(10.60);

ele ta arredondando o valor para 11, como resolvo isso??? por favorrrr

M

Tá arredondando pra 11 por que no DecimalFormat não tem nehuma casa decimal (separada por ponto). Tenta isso:

String ts = new DecimalFormat("#,##0.00").format(10.60);

Ou se você quer 3 casas decimais:

String ts = new DecimalFormat("#.000").format(10.60);

Aí para pegar os reais e os centavos separadamente:

public static void main(String[] args) {
	String ts = new DecimalFormat("#,##0.00").format(100.60);
	System.out.println("Valor: R$ " + ts);
	String reais = ts.substring(0, ts.indexOf(","));
	String centavos = ts.substring(ts.indexOf(",") + 1, ts.length());
	System.out.println("Valor: " + reais + " reais" + " e " + centavos + " centavos.");
}
Criado 2 de dezembro de 2008
Ultima resposta 2 de dez. de 2008
Respostas 3
Participantes 2