VALIDACIONES NUMEROS DECIMALES
Hola
Tengo un JDialog con un JTextField para ingresar números. Cuando pierde el foco del JtextField se acciona el public boolean esDecimal(String cad), para verificar si es un número decimal.
El problema que tengo es que la primera vez que valida, lo hace correcto ( por ejemplo con 3.14, dicen las variables, esDecimal o hayPunto que es true (correcto). Pero, sin cerrar el JDialog, marco 3 (no es decimal por carecer del punto y la parte decimal), las variables dicen lo mismo que es true, al igual que todas las siguientes. Es como si no regenerada las variables y tomara el dato del primer caso.
Aclaro que public boolean esDecimal(String cad), después llama a public void RellenaDigitos(int cuantosEntera, int cuantosDecimal), para accionar los JOption y mostrar las variables.
Por cierto las variables que guardan la parte entera y la parte decimal, no funcionan.
Paro el programa es:
String va10s = "";
String cad = "";
boolean hayPunto=false;
int NDigitos = 0;
int cuantosEntera = 0;
int cuantosDecimal = 0;
String enteros;
String decimal;
int posicionDelPunto=0;
StringBuffer parteEntera;
StringBuffer parteDecimal;
String parteEnteras;
public Prueba6(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
setLocationRelativeTo(null);
}
//Devuelve true si la cadena que llega tiene la sintaxis de un decimal
public boolean esDecimal(String cad){
NDigitos = 0;
NDigitos = cad.length();
//boolean hayPunto=false;
StringBuffer parteEntera = new StringBuffer();
StringBuffer parteDecimal = new StringBuffer();
int i=0;
for( i=0;i
- TONO2's blog
- Inicie sesión o regístrese para enviar comentarios
No entiendo
Para comenzar puedes poder tu codigo entre etiquetas <code> </code>
Lo que tiendo es que cada ves que escribes en el componente al perder el foco realiza tu validación
donde llamas tu método de validación) se realiza la validación de forma correcta; pero al escribir por segunda ves y dar clic en otro componentes para perder de nuevo el foco entonces el valor nuevo es el mismo que el que ingresaste anteriormente no es así?
para saber si es decimal el valor ingresado.
Entonces tu comentas que la primera ves que escribes al dar clic en cualquier lugar(para perder el foco y desencadenar el evento
Tengo algunas sugerencias:
Te sugiero utilizar la primera opción(
) debido a que solo necesitarás implementar en tu proyecto.
Saludos.