2012-01-02 16 views
21

Tal como dice el título. No creo que sea posible hacer esto, pero si me lo hace saber.¿Convertir cadena en flotar?

Esto es necesario para un complemento de bukkit (servidor de Minecraft) que estoy escribiendo. Quiero tomar un comando: tnt [potencia]. Donde el poder es la cuerda devuelta que quiero convertir para flotar.

Gracias

+3

Leer la API Java para float [aquí] (http://docs.oracle.com /javase/1.4.2/docs/api/java/lang/Float.html) Puede construir un nuevo float a partir de una cadena. También hay otras formas de hacerlo. Por favor utiliza Google. – ubiquibacon

Respuesta

75

Usa Float.valueOf(String) para hacer la conversión.

La diferencia entre valueOf() y parseFloat() es solo la devolución. Utilice el primero si desea un Float (objeto) y el último si desea el número float.

+1

Fantástico muchas gracias – HcgRandon

+0

Bienvenido al desbordamiento de la pila, por favor considere [aceptar] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) la respuesta si te gusta . –

7

Uso Float.parseFloat()?

class Test { 
    public static void main(String[] args) { 
     String s = "3.14"; 
     float f = Float.parseFloat(s); 
     System.out.println(f); 
    } 
} 
1
String s = "3.14"; 
float f = Float.parseFloat(s); 
1

Prueba esto:

String numberStr = "3.5"; 
Float number = null; 
try { 
    number = Float.parseFloat(numberStr); 
} catch (NumberFormatException e) { 
    System.out.println("numberStr is not a number"); 
} 
+0

El try/catch es bastante esencial. Pruébalo con datos incorrectos para ver qué pasa. –

0
public class NumberFormatExceptionExample { 
private static final String str = "123.234"; 
public static void main(String[] args){ 
float i = Float.valueOf(str); //Float.parseFloat(str); 
System.out.println("Value parsed :"+i); 
} 
} 

Esto debería resolver el problema.

¿Puede alguien sugerir cómo debemos manejar esto cuando la cadena viene en 35.000,00

0

Prueba esto:

String yourVal = "20.5"; 
float a = (Float.valueOf(yourVal)).floatValue(); 
System.out.println(a);