Problemas com formatação numérica

2 respostas
D
Pessoal, tenho um campo numérico em uma tabela o qual preciso formatar da seguinte maneira #,###,###.## e para isso utilizo o seguinte código:
SQL2  = "SELECT sum(expectativa) as expectativa from empresa";
            pstmt2 = conn2.prepareStatement(SQL2);
            rs2 = pstmt2.executeQuery();
            while (rs2.next()){
                String totalexpectativa = rs2.getString(1);

                String totalexpectativa1 = new String("");
                if (totalexpectativa == null){
                    totalexpectativa1="0";
                }
                else{
                    totalexpectativa1 = totalexpectativa;
                }

                Double totalexpectativa2 = Double.valueOf(totalexpectativa1);

                DecimalFormat decimal = new DecimalFormat();
                decimal.setMinimumFractionDigits(2);

                DecimalFormatSymbols simbolos = new DecimalFormatSymbols();

                simbolos.setGroupingSeparator(',');
                simbolos.setDecimalSeparator('.');
                decimal.setDecimalFormatSymbols(simbolos);

                String totalexpectativaFormatado = decimal.format(totalexpectativa2);

                %>						
                <%=totalexpectativaFormatado%>
Só que se tenho na tabela o valor "500000" e gostaria de formatá-lo como "5,000.00", mas da maneira como estou fazendo o valor exibido é "500,000.00". Agradeço se alguém puder me ajudar a resolver este problema.

2 Respostas

I

Aparentemente o valor está sendo considerado todo como inteiro e a ele são acrescidos mais duas casas decimais gerando 500,000.00 Não seria a melhor solução eu sei, mas tu podes dividir por 100 o resultado para ajustar as casas decimais.

D

Valeu pela dica iktuz, funcionou. Obrigado! :okok:

Criado 4 de agosto de 2005
Ultima resposta 4 de ago. de 2005
Respostas 2
Participantes 2