Java中如何将字符串转换为float
时间:2020-01-09 10:35:29 来源:igfitidea点击:
在java要将String转换为float,可以使用以下选项之一
1Float.parseFloat(String str)–返回一个新的float,该float初始化为指定String表示的值。
2Float.valueOf(String s)–返回一个Float对象,其中保存由参数字符串s表示的float值。
如我们所见,parseFloat()方法返回一个float基本类型,其中valueValue()方法返回一个Float对象。
Java示例,使用Float.parseFloat将String转换为float
public class StringToFloat { public static void main(String[] args) { String str = "56.45f"; try{ float f = Float.parseFloat(str); System.out.println("value - " + f); // can be used in arithmetic operations now System.out.println(f+"/3 = " + f/3); }catch(NumberFormatException exp){ System.out.println("Error in conversion " + exp.getMessage()); throw exp; } } }
输出:
value - 56.45 56.45/3 = 18.816668
对于浮点数,我们可以使用" f"或者" F"(偶数d或者D表示双精度),因此这样的字符串–" 56.45f"在转换时不会导致NumberFormatException。但是使用" 56.45c"之类的其他字母会抛出异常。
Java示例,使用Float.valueOf将String转换为float
public class StringToFloat { public static void main(String[] args) { String str = "-55.67456"; try{ Float f = Float.valueOf(str); System.out.println("value- " + f); }catch(NumberFormatException exp){ System.out.println("Error in conversion " + exp.getMessage()); throw exp; } } }
输出:
value- -55.67456
NumberFormatException
在Java中将字符串转换为float时,如果传递了无效的数字字符串进行转换,则会引发NumberFormatException。
public class StringToFloat { public static void main(String[] args) { String str = "43g"; try{ Float f = Float.valueOf(str); System.out.println("value- " + f); }catch(NumberFormatException exp){ System.out.println("Error in conversion " + exp.getMessage()); throw exp; } } }
输出:
Error in conversion For input string: "43g" Exception in thread "main" java.lang.NumberFormatException: For input string: "43g" at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source) at sun.misc.FloatingDecimal.parseFloat(Unknown Source) at java.lang.Float.parseFloat(Unknown Source) at java.lang.Float.valueOf(Unknown Source) at com.theitroad.programs.StringToFloat.main(StringToFloat.java:8)