22/05/2008, 13:46
|
| | Fecha de Ingreso: abril-2004
Mensajes: 185
Antigüedad: 20 años, 9 meses Puntos: 0 | |
Respuesta: como saber si un string es un numero Gracias GreenEyed,
Al final he optado por el replace. Posteo lo que he hecho por si alguno le sirve.
java.text.DecimalFormat df = new java.text.DecimalFormat();
DecimalFormatSymbols dfs = df.getDecimalFormatSymbols();
String numeroString = "121.123,12";
if (true != Rutinas.isNumberFloat(numeroString)){
numeroString =Rutinas.corregirFormatoNumero(numeroString, dfs);
}
Ademas tengo una clase Rutinas donde tengo los siguientes metodos:
// Sirve para saber si una cadena de texto contiene un numero.
public static boolean isNumberFloat(String cadena) {
try {
Float.parseFloat(cadena);
return true;
} catch (NumberFormatException nfe){
return false;
}
//
} // fin de metodo
// Sirve para cambiar la , decimal por el . o viceversa
public static String corregirFormatoNumero(String cadena) {
java.text.DecimalFormat df = new java.text.DecimalFormat();
java.text.DecimalFormatSymbols dfs = df.getDecimalFormatSymbols();
return corregirFormatoNumero(cadena , dfs);
//
} // fin de metodo
public static String corregirFormatoNumero(String cadena, java.text.DecimalFormatSymbols dfs) {
char ds = dfs.getDecimalSeparator();
char gs = dfs.getGroupingSeparator();
char auxiliar = '*';
String cadena1 = cadena.replace(gs,auxiliar);
String cadena2 = cadena1.replace(ds,gs);
String cadena3 = cadena2.replace(auxiliar,ds);
return cadena3;
// return cadena.replace(gs,asterisco).replace(ds,gs).replac e(asterisco,ds);
//
} // fin de metodo |