Ola pessoal eu estou lendo uma string e depois transformando em um float dessa maneira:
String aux1 =JOptionPane.showInputDialog("Valor");
float Valor = Float.parseFloat(aux);
agora eu preciso verificar se o digitado e mesmo um float ignorando a leitura e fazendo ela novamente se por acaso nao for digitado um float como por exemplo for digitado qualquer outro caracter.
peguei uma funcao de um amigo aki do forum mas nao rodou muito bem pq mesmo eu digitando o float separado por ponto (.),ele diz que esta errado se alguem pode me ajudar ai vai meu codigo.
package javaapplication6;
import javax.swing.JOptionPane;
/**
*
* @author adler
*/
public class Cadastro {
private static float converteRecebeInt;
public static void main(String[] args) {
String Produto =JOptionPane.showInputDialog("Produto");
String aux = JOptionPane.showInputDialog("Quantidade");
int Quantidade = Integer.parseInt(aux);
String aux1 =JOptionPane.showInputDialog("Valor");
float Valor = Float.parseFloat(aux);
while (tipo(aux1)==false){
aux1=JOptionPane.showInputDialog(null,"Entre com um valor válido:");
}
if (tipo(aux1)==true)converteRecebeInt = Float.parseFloat(aux1);
}
public static boolean tipo(String aux1){
boolean z=false;
try{
if (aux1.equals("0"))z=true;
if (Integer.parseInt(aux1)!=0);
z=true;
}catch(Exception e){
JOptionPane.showMessageDialog(null,"\"VALOR INVÁLIDO!\nOs numeros são separados por ponto,\n\bcarácteres inválidos:\b\nA-Z, a-z, ^, ~, /, \, ', \", !, ?, @, #, $, %, ¨, &, \n*, (, ), [, ], +, -, |, ;, = \"","ERRO",JOptionPane.ERROR_MESSAGE);
z=false;
}
return z;
}
}