HcgRandon
HcgRandon

Reputation: 715

Convert string to float?

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

Answers (7)

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

Mohamed Ali AMRI
Mohamed Ali AMRI

Reputation: 1

Try this:

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

Upvotes: 0

Francis Upton IV
Francis Upton IV

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

Gauravj
Gauravj

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

Wilmer
Wilmer

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

Leo Izen
Leo Izen

Reputation: 4289

String s = "3.14";
float f = Float.parseFloat(s);

Upvotes: 1

Oliver Charlesworth
Oliver Charlesworth

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

Related Questions