Converter Double para String

4 respostas
J

Ola pessoal tudo bem???

Seguinte, gostaria de saber como que eu faço para consultar de um campo double e mostra em String. Basicamente funciona assim, eu fiz uma tela para cadastro, onde a pessoal digita o cpf (utilizando uma mascara na qual não permite para a pessoa digite letras(###.###.###-##)), depois disto em fiz um metodo para capturar apenas os números que foram digitados, e estou salvando do banco de dados utilizando do tipo double(não utilizei o int, pois dava erro ao gravar, pesquisei e descobri que int era pequeno para os números digitados, com o double grava tudo certinho), o problema esta na hora da consulta, ele esta trazendo o número em double: Observem o métodos para consulta:
public static String consultarProfessores(int Cod_Prof) {
        conecta();
        try {
            stm = con.createStatement();
            String SQL = "SELECT * FROM Professor WHERE Codigo="+Cod_Prof;
            rs = stm.executeQuery(SQL);
            if (rs.next()) {
                setNome(String.valueOf(rs.getObject("Nome")));
                setRG(String.valueOf(rs.getObject("RG")));
                
                setCPF(Double.parseDouble(String.valueOf(rs.getObject("CPF")))); //linha q consulta do double
                
                setData_Nasc(String.valueOf(rs.getObject("Data_Nasc")));
            }
            
        }catch (Exception e) {
            e.printStackTrace();
        }
        desconecta();
        return null;
    }
Agora observem as linhas que mostra a consulta na tela:
sqlProfessores.consultarProfessores(Integer.parseInt(tfCod_Prof.getText()));
        tfNome.setText(sqlProfessores.getNome());
        tfRG.setText(String.valueOf(sqlProfessores.getRG()));

        ftfCPF.setText(String.valueOf(sqlProfessores.getCPF())); // linha do double

        ftfData_Nasc.setText(Metodos.ReinverterData(sqlProfessores.getData_Nasc()));

O problema esta na parte em que vai ser mostrado na tela, o valor que foi consultado é: 5.4544444444E10 com isso não é possivel mostra na mascara; Então gostaria de saber como que eu faço para converter este valor em uma string inteiro, o valor certo devedia ser: [telefone removido];

Se possivel me ajudar, agradeço.
T+

4 Respostas

J

Só não entendi o motivo de gravar isso como double, o ideal para esse dado é varchar ou varchar2 dependendo do banco.

E vi que você está obtendo tudo do getObject() e depois convertendo pra String, existe um metodo para cada tipo como getString(), getInt(), getDouble(), etc.

W

Bom dia…Percebi que vc está gravando o CPF como Double. Na consulta vc passa para String e depois passa novamente para Double no setCPF…E quando vai exibir os resultados vc força novamente o valor para String…

Acho que vc deveria gravar como String e assim não precisaria fikar fazendo tanto parser assim…Essa é apenas minha sugestão…Se quiser alguma idéia pode falar comigo novamente…Estarei a sua disposição…

Abraços

C

Para limitar o número de casas decimais, utlize BigDecimal.

J

Olha galera, realmente não tinha pensado que ficaria mais fácil se o campo fosse String.
Troquei e deu certo. Muito Obrigado pelo ajuda.
T+ :lol: :grin:

Criado 14 de março de 2008
Ultima resposta 17 de mar. de 2008
Respostas 4
Participantes 4