RESOLVIDO Duvida conversão FLOAT

Pessoal estou recebendo esse erro quando o valor da mais de 2 casas decimais

Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: “1.100,00”

estou utilizando uma função que tenho no meu sistema e mesmo assim não esta adiantando continua o mesmo erro

public float arredondamentoComPontoDuasCasas(float pValor){
DecimalFormat df = new DecimalFormat("#.00");
return Float.parseFloat(this.converterVirgulaParaPonto(df.format(pValor)));
}

O problema não são as casa, é aquela vírgula. Vc tem um ponto e uma vírgula, isso não é um número válido. O ponto é o separador de decimal correto se quiser fazer a conversão.

Poise se eu substituir aquela virgula por ponto tambem da erro, não sei oque devo fazer

Sim, está correto. Afinal, 1.100,00 é a maneira como você vai apresentar o número, mas o mesmo tem valor 1100, não é isso?
O compilador não entende este valor

1.100,00

Como sendo um número válido.

Remova a vírgula e tudo o que tem após ela.

Sim eu pego esse numero de uma String dai fiz replace(",00",""); mas dai pode acontecer de
ser 1.100,80 centavos ai vai dar furo

Cara, acho que você não entende o funcionamento de substring (neste caso, o replace seria mais recomendado.
Considere os valores:

1.100,00
1.100,80

Na verdade, eles são

11000
1100.80

Entendeu?

Só substituir n dá pq terá dois pontos, precisa desformatar isso.
Esquece as gambiarra, usa DecimalFormat:

DecimalFormat df = new DecimalFormat("#,###.##");
float f = df.parse("1.000,00").floatValue();

E não vai dar furo, substring não funciona dessa maneira, funciona com replace e o replace só vai . trocar o que coincidir com o primeiro argumento. Como ,80 é diferente de ,00, então não terá substituição.

"1.100,00".replaceAll(".", "").replaceAll(",00", "");

Mas, concordo que é gambiarra.

Amigo perdão replace eu tava fazendo outra coisa aqui e errei

Replace q eu quis dizer e replace não da certo quando tratar de centavos não daria certo

Use o que o @Rodrigo_Void sugeriu ou

"1.100,80".replaceAll(".", "").replaceAll(",", ".");

ok vou testar

Deu certo obrigado galera

Só abrindo um parenteses para o caso de fazer replace.
Teria se usar o método replace ao invés do replaceAll.
O replace tbm substitui todas ocorrências, mas o replaceAll recebe uma regex(expressão regular) onde o ponto na verdade é um coringa para qualquer caractere, logo vai substituir tudo por nada.

Certíssimo, eu que nunca lembro qual deles recebe um regex.