2012-01-02 225 views
21

正如标题所述。我不相信有可能做到这一点,但如果它让我知道。将字符串转换为浮点数?

这是我写的bukkit(我的世界服务器)插件所需要的。我想要一个命令:tnt [power]。哪里功率是我想要转换为浮动返回的字符串。

感谢

+3

阅读的Java API浮法[这里](http://docs.oracle.com /javase/1.4.2/docs/api/java/lang/Float.html)你可以从一个字符串构造一个新的float。还有其他方法可以做到这一点。请使用Google。 – ubiquibacon 2012-01-02 20:29:09

回答

75

使用Float.valueOf(String)来进行转换。

valueOf()parseFloat()之间的差异仅仅是回报。如果您想要Float(对象),请使用前者;如果您需要float,请使用后者。

+1

太棒了非常感谢你 – HcgRandon 2012-01-02 20:31:57

+0

欢迎来到堆栈溢出,请考虑[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)答案,如果你喜欢它。 – 2012-01-02 20:33:01

7

使用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

试试这个:

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

try/catch非常重要。尝试使用不良数据来查看会发生什么情况。 – 2014-04-10 18:42:07

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); 
} 
} 

这应该解决的问题。

任何人都可以提出,我们应该如何处理这个时候串进来35,000.00

0

试试这个:

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