Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Convertir cadena a entero / flotante / doble

Estoy intentando convertir una cadena a Integer/Float/Double pero tengo una NumberFormatException .

Mi cadena es 37,78584 , ahora estoy convirtiendo esto a cualquiera de ellos tengo NumberFormatException .

¿Cómo puedo convertir esta string a cualquiera de ellos.

Por favor, ayúdame a salir de este problema.

9 Solutions collect form web for “Convertir cadena a entero / flotante / doble”

Tienes que usar la configuración regional apropiada para el número como

 String s = "37,78584"; Number number = NumberFormat.getNumberInstance(Locale.FRENCH).parse(s); double d= number.doubleValue(); System.out.println(d); 

huellas dactilares

 37.78584 

Reemplazar , por "" en blanco en la cadena y luego convertir sus números

 String str = "37,78584"; str = str.replaceAll("\\,",""); 

El uso de métodos como Type.parseSomething y Type.valueOf no es la mejor opción, ya que su comportamiento depende de la configuración regional. Por ejemplo, en algunos idiomas, el delimitador decimal es '.' Símbolo cuando en otro ','. Por lo tanto, en algunos sistemas el código funciona bien en otro, se bloquea y arroja excepciones. La manera más apropiada es utilizar formateadores. JDK y Android SDK tiene muchos preparadores listos para usar para muchos propósitos, que es independiente de la configuración regional. Echa un vistazo a NumberFormat

La mejor práctica es utilizar una configuración regional que utilice una coma como separador, como la configuración regional francesa:

 double d = NumberFormat.getNumberInstance(Locale.FRENCH).parse("37,78584").doubleValue(); 

El método más rápido es sustituir cualquier comas por períodos.

 double d = String.parseDouble("37,78584".replace(",",".")); 

Compruebe el valor de la cadena

ese

 if(String .equals(null or ""){ } else{ //Change to integer } 

Haga esto antes de analizar para quitar las comas:

 myString.replaceAll(",", "")​; 

Reemplazar '

 String value = "23,87465"; int value1 = Integer.parseInt(value.toString().replaceAll("[^0-9.]","")); 

Primero quite , esto, usando código abajo

 String s= "37,78584"; s=s.replaceAll(",", ""); 

Y luego use debajo del código

Para cadena a entero: –

 Integer.parseInt(s); 

Para que la cadena flote: –

 Float.parseFloat(s); 

Para cadena a doble: –

 Double.parseDouble(s); 

Intente reemplazar el , y luego convertir en un entero / float / doble

 String mysting="37,78584"; String newString=myString.replace(",", ""); int value=Integer.parseInt(newString); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.