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.
Converter um Float para String retirando a virgula
M
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 
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
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
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo