Reputation: 715
Just as title says. I don't believe it is possible to do this but if it is let me know.
This is needed for a bukkit (minecraft server) plugin I'm writing. I want to take a command: tnt [power]. Where power is the string returned that I want to convert to float.
Thanks
Upvotes: 39
Views: 213721
Reputation: 679
The easyest way is:
///Groovy/////
String a = "23.5";
Float b = a.toFloat();
////Java////
String a = "23.5";
float b = Float.valueOf(a);
Upvotes: -1
Reputation: 1
Try this:
String yourVal = "20.5";
float a = (Float.valueOf(yourVal)).floatValue();
System.out.println(a);
Upvotes: 0
Reputation: 19443
Use Float.valueOf(String)
to do the conversion.
The difference between valueOf()
and parseFloat()
is only the return. Use the former if you want a Float
(object) and the latter if you want the float
number.
Upvotes: 106
Reputation: 21
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);
}
}
This should resolve the problem.
Can anyone suggest how should we handle this when the string comes in 35,000.00
Upvotes: 0
Reputation: 1045
Try this:
String numberStr = "3.5";
Float number = null;
try {
number = Float.parseFloat(numberStr);
} catch (NumberFormatException e) {
System.out.println("numberStr is not a number");
}
Upvotes: 1
Reputation: 272762
Using Float.parseFloat()
?
class Test {
public static void main(String[] args) {
String s = "3.14";
float f = Float.parseFloat(s);
System.out.println(f);
}
}
Upvotes: 10