2012-05-24 10 views
18

Duplicar posible:
String from EditText to floatCómo convertir cadena en valor flotante en Android

En la aplicación que quieren convertir la cadena introducida en el cuadro de edición con el valor correspondiente como 233243664376347845.89 a las correspondientes valor flotante. Pero vuelve como IE10 después de algunos números, por ejemplo, 23324366IE10 Por favor, ayúdenme. Mi código es -

NumberFormat format = NumberFormat.getInstance(Locale.US); 

try 
{ 
    number = format.parse(e1.getText().toString()); 
} catch (ParseException e) 
{ 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

La edición longitud del texto es mayor que 20 dígitos, también quiero menos dos valores de coma flotante de edición de texto ...

+0

Pruebe un valor 'doble'. – Stephan

+0

use Float.valueOf (String): http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Float.html#valueOf%28java.lang.String%29 – Blackbelt

+1

The 'double 'value (no es un' float') se analiza muy bien. El problema es que no se * muestra * a la derecha. ¿Dónde está el código que imprime 'número'? – Jon

Respuesta

41
String s = e1.getText().toString(); 
Float f= Float.parseFloat(s); 
+2

Deberá capturar NumberFormatException en caso de fallas. –

14

esto va a resolver su problema:

String str=e1.getText().toString(); 
number = Float.parseFloat(str); 
0

Pruebe esto.

EditText edt = (EditText) findViewById(R.id.edit_float); 
float number = Float.valueOf(edt.getText().toString()); 

Utiliza el método valueOf() si la clase de contenedor Float convierte una cadena en un flotante. En este ejemplo, obtengo el objeto Editable de ese EditText con getText() al que llamo el método toString() para obtener una cadena de él.

+0

trabajando solo 6 dígitos, ingresaremos más de 6 dígitos significa que muestra 6857841E10 – user1235251

Cuestiones relacionadas