é possivel converter String em float dessa forma ? [RESOLVIDO]

6 respostas
Lindberg

Ola pessoal

peço desculpas, pq não sei se tem como fazer assim …

vejam se é possivel:

String valorespadroesw = "6 , 9, 10, 12, 20";

float valores[] = { valorespadroesw };

obg

6 Respostas

E

A resposta simples é “não”.

Além disso, evite usar float a qualquer custo; use sempre double ou BigDecimal.

Entretanto, você pode criar um método que faça isso por você. Um exemplo:

double[] parseDoubles(String listaValores) {
    String[] itens = listaValores.split ("[, ]+"); // fica um array "6", "9", "10", "12", "20"
    double[] v = new double[itens.length];
    for (int i = 0; i < itens.length; ++i) {
        v[i] = Double.parseDouble (itens[i]);
    }
    return v;
}
...
String valorespadroesw = "6 , 9, 10, 12, 20"; 
double[] valores = parseDoubles (valorespadroesw);
Lindberg

Ola entanglement

Muito obg pela ajuda e dicas !

vou seguir

L

Apenas um acréscimo, imagina você tentando converter as vírgulas em float, que número seriam?

E

O problema de o Lindberg provavelmente ter sido exposto a uma linguagem como o JavaScript antes do Java é que ele imagina que certas coisas são fáceis ou triviais em Java.

O tipo de dúvida que ele teve é típico de quem pode, de maneira simples, converter uma string em um pedaço de código dentro do próprio programa (em JavaScript isso se chama “eval”).

Por exemplo, o que ele queria fazer em Java seria escrito em Javascript mais ou menos como:

var valorespadroesw = "6 , 9, 10, 12, 20"  
    var valores = eval ("{" + valorespadroesw + "}")

ou coisa parecida. (Infelizmente não sei tanto Javascript quanto gostaria :slight_smile: )

E

Quem aprendeu Lisp antes das linguagens compiladas tradicionais e engessadas que usamos no dia a dia também tem a impressão de que poderia fazer isso (converter uma string em uma estrutura de dados de forma trivial) sem pensar muito. Infelizmente, Java é uma linguagem muito engessada (embora não seja Cobol) e tal coisa não é diretamente possível em Java, requerendo uma biblioteca qualquer para funcionar.

ribclauport

Poderia me dizer o porquê?

Criado 10 de julho de 2013
Ultima resposta 12 de jul. de 2013
Respostas 6
Participantes 4