Converter um Float para String retirando a virgula

8 respostas
M

Como eu faria para converter um float, digamos 15,75 para um String. De uma forma que quando for string não apareça a virgula o nº ficaria 1575.

8 Respostas

M

faça um loop com equals jogando o float pra stringbuffer, qndo equals retornar true pula ( seria a “,” )
depois eh soh colher tds a string buffer :slight_smile:
gerando assim o float no string

L

Você pode utilizar o método da classe String repalceAll(String,String) de forma mais simples e direta.
Exemplo:

public class Foo {
	public static void main(String[] args) {	
			float f = 15.8f;
			System.out.println(String.valueOf(f).replaceAll("[.,]",""));
	}
}

Alessandro

M

Eu preciso salvar em uma String, não só imprimir na tela. Pois, vou ter que enviar este dado para outra máquina via socket usando um protocolo que criamos em aula.

M

a mesma coisa q o codigo acima, é só salvar na string, como:

public class Foo { 

   public static void main(String[] args) {    

         float f = 15.8f; 
         
         String myFloat = String.valueOf( f ).replaceAll( "[.,]","" ); 
   } 
}
M

Deste jeito não vou acabar tendo um espaço em branco no meio da String? Bom, já consegui e fiz conforme abaixo:
public class Teste{

public static void main (String args[])	{
	
	String a, result= "", c = "";
	float b;
	int d;
	
	a = "0000101";
	
	b= (Float.parseFloat(a)) / 100;
	
	System.out.println(a);
	System.out.println(b);				
	a = Float.toString(b);
	System.out.println(a);
	
	for (int i = 0; i < a.length(); i++){
		
		if(a.charAt(i) == '.' ){
			
			continue;	
		}	
		else{
			
		
			result += a.charAt(i);
		}
	
	}
	
	d = result.length();	
	
	if(result.length()<7){				
			
		switch(d){					
				
		case 0:				                                c = "0000000";					break;
		
                                           case 1:						c = "000000";					break;
		
                                            case 2:						c = "00000";		  	                               break;	

		case 3:						c = "0000";					break;			
		
                                            case 4:						c = "000";
                                            break;

		case 5: 						c = "00";						break;

		case 6:						c = "0";						break;
						
                 	}	
	
	}
	c = c + result;
	System.out.println(c);
}

}

M

sempre lembrando coloque os codigos entres as tags [ code ] e [ / code ]
[]s

M

“MurrayBR”:
sempre lembrando coloque os codigos entres as tags [ code ] e [ / code ]
[]s

foi mal…

M
public class ConverteFloat {

    public static String floatToString( float valor ) {
        String a = Float.toString( valor );
        String result = "";
        String c = "";
        int d = 0;
        int depoisDaVirgula = 0;
        boolean passouDaVirgula = false;

        for (int i = 0; i < a.length(); i++) {

            if (a.charAt(i) == '.') {
                passouDaVirgula = true;
                continue;

            } else {
                if( passouDaVirgula ) {
                    result += a.charAt(i);
                    depoisDaVirgula++;
                } else {
                    result += a.charAt(i);
                }
            }
        }
        
        if( depoisDaVirgula == 1 ) {
            result = result + "0";
        }

        d = result.length();

        if (result.length() < 7) {

            switch (d) {
                case 0:
                    c = "0000000";
                    break;
                
                case 1:
                    c = "000000";
                    break;
                    
                case 2:
                    c = "00000";
                    break;
                    
                case 3:
                    c = "0000";
                    break;
                    
                case 4:
                    c = "000";
                    break;
                    
                case 5:
                    c = "00";
                    break;
                
                case 6:
                    c = "0";
                    break;
                    
                }
            }
        return c + result;
    }
    
    /**
     * Transforma uma String em um float
     * @param valor String com o avalor a converter
     * @return Float representado pela String
     */
    public static float stringToFloat( String valor ) {
        return Float.parseFloat( valor )/100;
    }
}
Criado 4 de dezembro de 2004
Ultima resposta 14 de dez. de 2004
Respostas 8
Participantes 4